问:如何更改箭头位置或将其从边缘移除? (JUNG)

时间:2017-12-30 17:32:42

标签: java graph jung

问题是什么。我有许多箭头连接到一个节点,它在图表上看起来非常混乱。有没有办法将箭头重新定位到中心或移除它们?

2 个答案:

答案 0 :(得分:1)

默认情况下,定向边缘会在箭头上呈现,以便您可以看到边缘的方向。

如果你不想让箭头出现:

visualizationViewer.getRenderContext().setEdgeArrowPredicate(false);

如果您希望箭头存在,但是在各自的边缘中间而不是在目标处渲染:

visualizationViewer.getRenderer()
    .getEdgeRenderer()
    .setEdgeArrowRenderingSupport(
        new CenterEdgeArrowRenderingSupport<>());

如果要使用不同的边缘形状,以不同方式显示边缘方向:

visualizationViewer
    .getRenderContext()
    .setEdgeShapeTransformer(EdgeShape.wedge(10));

最后,如果您不想要有向边,那么您可以使用无向图。 (默认情况下,SparseMultigraph的边缘是无向的。)

这些功能在PluggableRendererDemo中得到了证明,这是JUNG发行版中可用的样本之一。请注意,这些API对于JUNG 2.1。*是准确的,但是对于即将发布的3.0版本,有些内容将会发生变化。

答案 1 :(得分:0)

将图形的类型从DirectedSparseMultigraph更改为SparseMultigraph并修复了我遇到的问题。