Domanda

Io uso Jung per disegnare grafici. Qui di seguito è un semplice grafico con il layout albero che sembra bene. Tutti i renderer e trasformatori sono di default.

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

Ora, ho cambiato la dimensione predefinita dei nodi per 100px impostando un VertexShapeTransformer personalizzato. Il problema è che i nodi hanno cominciato a sovrapporsi. Qui potete vedere come appare:

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

E 'possibile eliminare la sovrapposizione di vertice? E 'una questione di layout o qualche tipo di forma trasformazione?

Grazie in anticipo per eventuali suggerimenti: -)

È stato utile?

Soluzione

Dopo non molto tempo indagini ho scoperto che ci sono due attributi statici incaricati di definire le distanze minime tra vertici. Questi sono TreeLayout.DEFAULT_DISTX e TreeLayout.DEFAULT_DISTY. Sfortunatamente, questi attributi definiscono una distanza minima fissa tra vertici ma non considerano la dimensione reale di ogni vertice che potrebbe differire. L'impostazione è valida per la TreeLayout e la BalloonLayout che estende il TreeLayout.

I cerca anche altri layout, ma non riuscivo a trovare una soluzione analogica. Questo problema è per un'altra questione; -)

Altri suggerimenti

Quando si crea un TreeLayout è possibile specificare il TreeLayout.DEFAULT_DISTX e TreeLayout.DEFAULT_DISTY nel costruttore:

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

Forse avete bisogno di mettere una maggiore distanza tra i nodi? Hai iniziato con una certa distanza con alcuni nodi di dimensione. Quando avete aumentato le dimensioni del nodo ridotto lo spazio tra di loro, per compensare distanza extra deve essere messo tra i nodi per impedire loro di sovrapposizione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top