Question

J'utilise Jung pour dessiner des graphiques. Ci-dessous un graphique simple avec mise en page d'arbre qui ressemble bien. Tous les équarrisseurs et les transformateurs sont par défaut.

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

Maintenant, j'ai changé la taille par défaut des noeuds à 100px en définissant un VertexShapeTransformer personnalisé. Le problème est que les noeuds ont commencé à se chevaucher. Ici vous pouvez voir à quoi il ressemble:

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

Est-il possible de se débarrasser du chevauchement de sommet? Est-ce une question de mise en page ou une sorte de transformation de forme?

Merci d'avance pour toute suggestion: -)

Était-ce utile?

La solution

Après pas si longue enquête, j'ai découvert qu'il ya deux attributs statiques chargés d'établir les distances minimales entre vertex. Ce sont TreeLayout.DEFAULT_DISTX et TreeLayout.DEFAULT_DISTY. Malheureusement, ces attributs définissent une distance minimale fixe entre vertex mais ne considèrent pas la taille réelle de chaque sommet qui peut différer. Le réglage est valable pour la TreeLayout et la BalloonLayout qui étend la TreeLayout.

Je tente également d'autres mise en page mais je ne pouvais pas trouver une solution analogique. Cette question est pour une autre question; -)

Autres conseils

Lorsque vous créez un TreeLayout vous pouvez spécifier le TreeLayout.DEFAULT_DISTX et TreeLayout.DEFAULT_DISTY dans le constructeur:

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

Peut-être que vous avez besoin de mettre une plus grande distance entre les nœuds? Vous avez commencé avec une certaine distance avec certains nœuds de taille. Lorsque vous augmentez la taille du nœud réduit l'espace entre eux, pour compenser la distance supplémentaire doit être mis entre les nœuds pour les empêcher de se chevaucher.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top