Wie kann ich ein Diagramm mit dem d3-Force-Layout anzeigen, wenn die Anfangspositionen eingestellt sind und überhaupt keine Bewegung erfolgt?

8

Ich verwende das d3 force-Layout, um ein Diagramm zu erstellen, und speichere dann die Positionen der Knoten in einer Datenbank.

Das nächste Mal, wenn ich den Graphen anzeigen möchte, lese ich die Positionen aus der Datenbank in die Knoten und starte dann das Force-Layout.

Dadurch wird das Layout leicht verschoben.

Gibt es eine Möglichkeit, den Graphen mit den gespeicherten Knotenpositionen anzuzeigen, ohne force.start () aufzurufen?

Was ich möchte, ist ein "read only" -Modus, um ein stabiles Diagramm zu zeigen, das zuvor von jemand anderem erstellt wurde.

/ Hans

    
hansbrattberg 24.06.2013, 22:21
quelle

1 Antwort

10

Ich empfehle Ihnen, die Dokumentation des Force-Layouts zu lesen. Es ist wirklich gut.

Wie Sie bereits erwähnt haben, müssen Sie die Attribute px und py für jeden Knoten festlegen. Dann können Sie in jedem Knoten das Attribut fixed auf true setzen.

Dies bedeutet, dass computing.start () keine Auswirkungen hat.

Sie können auch versuchen, den Alpha-Wert auf 0 zu setzen und dann die Simulation zu starten:

%Vor%

Ich bin mir nicht sicher, ob diese Methode funktioniert. Veröffentlichen Sie ein jsFiddle, wenn dies nicht der Fall ist.

    
Christopher Chiche 25.06.2013, 02:01
quelle

Tags und Links