如何防止顶点重叠?

时间:2009-12-15 18:33:56

标签: java jung graph-visualization

我用Jung画图。下面是一个简单的图形,树形布局看起来很好。所有渲染器和变换器都是默认的。

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

现在,我已通过设置自定义VertexShapeTransformer将节点的默认大小更改为100px。问题是节点开始重叠。在这里你可以看到它的外观:

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

是否有可能摆脱顶点重叠?这是布局还是某种形状转换的问题?

提前感谢您的任何建议: - )

3 个答案:

答案 0 :(得分:1)

经过不长时间的调查,我发现有两个静态属性负责设置顶点之间的最小距离。这些是TreeLayout.DEFAULT_DISTXTreeLayout.DEFAULT_DISTY。不幸的是,这些属性定义了顶点之间固定的最小距离,但没有考虑每个顶点可能不同的实际大小。该设置对TreeLayoutBalloonLayout的{​​{1}}有效。

我也尝试其他布局,但我找不到类比解决方案。这个问题是另一个问题; - )

答案 1 :(得分:1)

创建TreeLayout时,您可以在构造函数中指定TreeLayout.DEFAULT_DISTXTreeLayout.DEFAULT_DISTY

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

答案 2 :(得分:0)

也许你需要在节点之间留出更大的距离?您开始与特定大小的节点保持一定距离。当您增加节点的大小时,减少了它们之间的空间,以补偿节点之间需要放置的额外距离,以防止它们重叠。