Pregunta

Yo uso Jung para dibujar gráficos. A continuación se muestra un gráfico sencillo con diseño de árbol que se ve bien. Todos los procesadores y transformadores son por defecto.

texto alternativo http://czuk.eu/stackoverflow/ballon_layout_default_size.png

Ahora, me han cambiado el tamaño predeterminado de los nodos a 100px mediante el establecimiento de un VertexShapeTransformer personalizado. El problema es que los nodos comenzaron a superponerse. Aquí se puede ver cómo se ve:

texto alternativo http://czuk.eu/stackoverflow/ballon_layout_size_100px.png

¿Es posible deshacerse de la superposición de vértice? ¿Es una cuestión de diseño o algún tipo de transformación de la forma?

Gracias de antemano por cualquier sugerencia: -)

¿Fue útil?

Solución

Después de no tan larga investigación descubrí que hay dos atributos estáticos responsables de establecer las distancias mínimas entre los vértices. Estos son TreeLayout.DEFAULT_DISTX y TreeLayout.DEFAULT_DISTY. Por desgracia, estos atributos definen una distancia mínima fijada entre vértices, pero no tienen en cuenta el tamaño real de cada vértice que puede diferir. El ajuste es válido para el TreeLayout y la BalloonLayout que se extiende la TreeLayout.

Yo también trata de otro diseño, pero no pude encontrar una solución analógica. Este problema es de otra pregunta; -)

Otros consejos

Cuando se crea un TreeLayout puede especificar el TreeLayout.DEFAULT_DISTX y TreeLayout.DEFAULT_DISTY en el constructor:

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

Tal vez usted necesita para poner una mayor distancia entre los nodos? Que se inició con una cierta distancia con un cierto tamaño nodos. Cuando se aumentó el tamaño del nodo usted redujo el espacio entre ellos, para compensar distancia extra necesita ser puesto entre los nodos para que no se superpongan.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top