我有一个我在graphviz中创建的图形,但问题是边缘相互重叠(每行有5-7个节点),因此很难说每个节点是它连接的节点
如何使边缘不相互重叠?让他们彼此交叉是可以的。
答案 0 :(得分:31)
我假设你有一个用点布局的有向图。
我认为没有神奇的开关来防止重叠边缘。 Graphviz尝试开箱即用。
根据图表,一些建议可能会有所帮助:
答案 1 :(得分:14)
另一种方法是向图形添加重叠属性。允许的属性是scale(会大大增加输出的大小)或false(这不会增加大小,但可能会导致边缘重叠节点)。
overlap = scale;
如果您使用overlap = false,则可以通过添加属性splines=true:
来删除与节点的边缘重叠
overlap = false;
splines = true;
这将大大减慢大型图形的生成时间。
答案 2 :(得分:8)
即使对于非常简单的图表,我也会看到graphviz
(neato
,fdp
)来生成重叠。例如:
graph G {
0;
1;
2;
3;
0--1 ;
1--2 ;
2--3 ;
3--0 ;
}
在我的代码2.38.0
版本中生成一个十字。从documentation他们建议尝试使用不同的随机种子。例如,这对我有用:
neato -Gstart=5 file.dot -Tps -o file.ps