Como evitar vértice de sobreposição?
-
19-09-2019 - |
Pergunta
Eu uso Jung para desenhar gráficos. Abaixo está um gráfico simples com layout de árvore que parece bem. Todos os prestadores e transformadores são padrão.
texto alt http://czuk.eu/stackoverflow/ballon_layout_default_size.png
Agora, eu mudei o tamanho padrão dos nós para 100px definindo um VertexShapeTransformer
personalizado. O problema é que os nós começaram a sobreposição. Aqui você pode ver como fica:
texto alt http://czuk.eu/stackoverflow/ballon_layout_size_100px.png
É possível se livrar do vértice sobreposição? É uma questão de disposição ou algum tipo de forma de transformação?
Agradecemos antecipadamente para quaisquer sugestões: -)
Solução
Depois de não tão longa investigação, descobri que existem atributos responsável pela definição das distâncias mínimas entre vértices dois estática. Estes são TreeLayout.DEFAULT_DISTX
e TreeLayout.DEFAULT_DISTY
. Infelizmente, esses atributos definir uma distância mínima fixada entre vértices mas não consideram o tamanho real de cada vértice que podem ser diferentes. O cenário é válido para o TreeLayout
eo BalloonLayout
que estende a TreeLayout
.
Eu também tenta outro layout, mas eu não poderia encontrar uma solução analógica. Esta questão é para uma outra questão; -)
Outras dicas
Quando você cria um TreeLayout
você pode especificar o TreeLayout.DEFAULT_DISTX
e TreeLayout.DEFAULT_DISTY
no construtor:
TreeLayout treeLayout = new TreeLayout<String,Integer>(graph,100,100);
Talvez você precisa colocar uma distância maior entre os nós? Você começou com uma certa distância com um certo nós tamanho. Quando aumentou o tamanho do nó que reduziu o espaço entre eles, para compensar necessidades distância extra para ser colocado entre os nós para mantê-los de sobreposição.