首页 > 解决方案 > Graphviz 绘制的图有不必要的边缘交叉

问题描述

我有一个由代码动态生成的图表,我正在使用graphviz-java来绘制它。

但是尽管生成的图是平坦的,但绘制的图有不必要的边缘交叉。

我搜索了类似的问题,但答案涉及使用添加不可见边之类的技巧,因为在我的情况下,图形是由代码动态生成的,我不能使用这些技巧是否有任何算法来改进节点放置,以便最小化边缘交叉?

这是所需的输出与 Graphviz 生成的结果(所需的手动绘制)

图 1 图 2

标签: javaplotgraphgraphviz

解决方案


我设法通过将 Layout Engine 更改为NEATO来获得所需的输出。

Graphviz.fromGraph(mg).engine(Engine.NEATO).render(Format.PNG).toImage();

在此处输入图像描述


推荐阅读