Ich versuche, eine Kraft gerichteten Graphen mit d3.layout.force
zu machen, und ich brauche den Container in der Größe veränderbar sein - das wäre ich in der Lage, geeignete Ladung und LinkDistance Werte basierend berechnen zu können die größe, oder d3 mache es für mich auf magische weise. die nur Knoten verwendet:Ladung basierend auf Größe - d3 Kraft Layout
Ich habe einen Versuch (http://jsfiddle.net/VHdUe/6/ Link) hergestellt. Ich setze die Ladung auf einen Wert, der auf der Anzahl der Knoten basiert, die über den Radius des Kreises passen würden, der dazu neigt, wie geformt zu sein.
Die Lösung arbeitet für einige mittelgroße Behälter, aber wenn Sie ein paar Mal die Größe klicken, können Sie sehen, es ist nicht wirklich für alle Größen funktioniert ...
Der einzige Weg nach vorne kann ich sehen, ist Verwenden Sie eine Svg-Skala-Transformation, die die Größe meiner Elemente ungünstig versauen wird. Irgendwelche anderen Wahlen?
PS: Ich habe http://mbostock.github.com/d3/talk/20110921/bounding.html (die Antwort auf D3 force directed layout with bounding box) gesehen, aber ich hätte lieber eine Schwerkraft-basierte Lösung als eine Bounding-Box.
http://bl.ocks.org/mbostock/1129492 – weltschmerz