我有一个用graphviz创建的图,但问题是边相互重叠(我每行有5-7个节点),所以很难区分每个节点哪些是它连接的节点。
如何才能使边缘不相互重叠?让他们互相交叉是可以的。
发布于 2011-01-13 00:53:04
我假设你有一个有向图,你可以用点来布局。
我不认为有一个神奇的开关来防止重叠的边缘。Graphviz试图做到开箱即用。
根据图表的不同,一些建议可能会有所帮助:
集中器集中器(
发布于 2011-10-31 21:50:31
另一种方法是向图形添加重叠属性。允许的属性是scale (这将极大地增加输出的大小)或false (这不会增加太多的大小,但可能会导致边与节点重叠)。
overlap = scale;如果使用的是overlap=false,则可以通过添加属性splines=true:来消除与结点的边重叠
overlap = false;
splines = true;对于较大的图形,这将显著降低生成时间。
发布于 2015-01-07 02:30:51
即使对于非常普通的图,我也可以使用graphviz (neato,fdp)来生成重叠。例如:
graph G {
0;
1;
2;
3;
0--1 ;
1--2 ;
2--3 ;
3--0 ;
}在我的代码2.38.0版本中生成一个十字。
来自 的他们建议在这些情况下尝试使用不同的随机种子。最终,对于更复杂的图表,交叉将是不可避免的,我不确定引擎在避免交叉方面投入了多少精力。
例如,这对我很有效:
neato -Gstart=5 file.dot -Tps -o file.pshttps://stackoverflow.com/questions/3967600
复制相似问题