更改Graph (GraphViz & dot)的大小(宽度和高度)

14

通常,GraphViz在dot语言中绘制的图形默认布局有些过于“紧凑”了。由于视觉空间太小,很难在边缘上放置有意义的标签,导致图表看起来杂乱无序。

我该如何影响GraphViz / dot图形的垂直和水平间距?

2个回答

25

默认设置

我将从一个用Dot引擎按默认方式排列的简单图表开始:

digraph {
node [shape=circle, width=0.4];
A->B
A->D
B->C
D->E 
}

在这里输入图片描述

修改高度

你可以看到,布局非常紧凑。请注意,我的排名(行)自然从上到下排列。我可以通过利用这一点,使用 ranksep (排之间的距离)变量来明确设置排之间的空间来影响图表的高度

digraph { 
node [shape=circle, width=0.4];
ranksep = 1;
A->B
A->D
B->C
D->E 
}

在此输入图片描述

调整宽度

最后,我们可能想要扩大图表的宽度。这里我们使用nodesep变量来增加节点(列)之间的间距:

digraph { 
node [shape=circle, width=0.4];
nodesep=1.5;
A->B
A->D
B->C
D->E 
}

在这里输入图片描述


有官方文档可用吗?谢谢。 - jabellcu
1
@jabellcu 当然,它在http://graphviz.org上。自从我四年前回答这个问题以来,它已经发生了很大的变化,但现在看起来更好了。 - TomServo
2
如果您正在使用“dot”命令来可视化生成的有向图,则可以将以下选项添加到命令中:-Granksep=1-Gnodesep=1.5等。 - ADTC

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接