Alle API-Beispiele scheinen für v3 noch zu sein. Ich versuche zu verstehen, wie eine Kraft Graph mit Links einen festen Abstand zu schaffen, wie: http://bl.ocks.org/d3noob/5141278Wie legen Sie einen festen Link Abstand mit d3 v4
ich link_strecke sah aber nicht sicher, wie es anzuwenden: https://github.com/d3/d3-force/blob/master/README.md#link_distance
Erstellen eines Graphen wie dies:
let simulation = d3.forceSimulation()
.force("link", d3.forceLink().id(function(d) { return d.id; }))
.force("charge", d3.forceManyBody().strength(-150))
.force("center", d3.forceCenter(width/2, height/2));
ich wie verschiedene Kombinationen ausprobiert:
// .force("link", d3.forceLink().distance(20).strength(1))
// .force("linkDistance", 20)
// .force("link", d3.forceLink().id(function(d) { return d.id; }))
aber kein Glück!
So scheint es link_distance kann nicht behoben werden? sein ein Ergebnis der Stärke und (Abstand, was auch immer das ist)
Wie bewerbe ich mich strength
und distance
auf Links in d3 v4? Wird es auf die Simulation oder etwas anderes angewendet?
Es gibt keinen festen Linkabstand für D3 v3 oder v4. Schauen Sie sich meine [Antwort] (http://stackoverflow.com/a/34376334/4235784) an [* "d3.js linkStrength-Einfluss auf LinkDistance in einem Force-Diagramm" *] (/ q/34355120) für eine Erklärung an für v3. Obwohl sich gerade für das Force-Layout vieles geändert hat, gilt dieses Prinzip auch für v4. Wenn die Links die gleiche Länge haben, ist dies zufällig und wird hauptsächlich durch die anderen Parameter und Kräfte beeinflusst. – altocumulus
OK danke. aber ich bin immer noch unklar, wie man die Befehle linkDistance oder linkStrength mit der v4 API setzt. Setze ich diese auf die 'd3.forceSimulation' oder eine andere Sache? – dcsan
Ja, es war eine kleine Herausforderung, nach v4 vs. v3 zu suchen. Ich würde zwei Dinge empfehlen: 1) V4-only Suche auf http://blockbuilder.org/search#d3version=v4 (Ich habe das erst spät gefunden). 2) Mein nicht-trivialer d3 Kraftgraph: http://bl.ocks.org/bill-mybiz/dfe5b70ad9b469e23b8820790fa53109. Ich machte dies für eine nicht-triviale Referenzimplementierung, da es ein wenig frustrierend war, immer wieder auf die v3-Dokumentation zu stoßen. Das hat eine dynamische hinzufügen/entfernen Knoten mit Knotengruppen (nicht nur einfache Kreise), es6 Klassenstruktur und mehr. Es beinhaltet die Einstellung der Entfernung sowie eine Reihe weiterer Einstellungen. – ibgib