Frage

Ich verwende Jung Grafiken zu zeichnen. Unten ist ein einfaches Diagramm mit Baum-Layout, das gut aussieht. Alle Renderer und Transformatoren sind Standard.

alt text http://czuk.eu/stackoverflow/ballon_layout_default_size.png

Nun, ich habe die Standardgröße des Knoten 100px geändert durch einen benutzerdefinierten VertexShapeTransformer Einstellung. Das Problem besteht darin, dass die Knoten zu überlappen gestartet. Hier können Sie sehen, wie es aussieht:

alt text http://czuk.eu/stackoverflow/ballon_layout_size_100px.png

Ist es möglich, überlappende rid des Scheitels zu bekommen? Ist es eine Frage des Layouts oder irgendeine Art von Form Transformation?

Vielen Dank im Voraus für irgendwelche Vorschläge: -)

War es hilfreich?

Lösung

Nach dem nicht so langer Untersuchung fand ich heraus, dass es zwei statische für die Festlegung der Mindestabstände zwischen Scheiteln verantwortlich Attribute. Dies sind TreeLayout.DEFAULT_DISTX und TreeLayout.DEFAULT_DISTY. Unglücklicherweise definieren die Attribute einen festen Mindestabstand zwischen den Scheiteln aber nicht die wirkliche Größe eines jeden Scheitelpunkt betrachten, die unterschiedlich sein können. Die Einstellung gilt für die TreeLayout und der BalloonLayout, die die TreeLayout erstreckt.

ich versuche, auch anderes Layout, aber ich konnte keine analogical Lösung finden. Dieses Problem ist für eine andere Frage; -)

Andere Tipps

Wenn Sie eine TreeLayout erstellen Sie die TreeLayout.DEFAULT_DISTX und TreeLayout.DEFAULT_DISTY im Konstruktor angeben:

TreeLayout treeLayout = new TreeLayout<String,Integer>(graph,100,100);

Vielleicht müssen Sie zwischen den Knoten einen größeren Abstand setzen? Sie begann mit einem gewissen Abstand mit einer bestimmten Größe Knoten. Wenn Sie die Größe des Knotens erhöht man den Raum zwischen ihnen reduziert, zusätzliche Entfernung Bedürfnisse zu kompensieren zwischen den Knoten gesetzt werden, damit sie nicht überlappen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top