缩小graphviz生成的图形的大小(如区域)

时间:2010-08-06 23:17:05

标签: configuration graphviz image-size graph-drawing

是否有任何关于缩小graphviz生成的图表大小的一般提示(区域大小,而不是文件大小)。

我有一个相当大的图表(700个节点)。我为每个节点设置了较小的字体大小,但它似乎只减小了字体大小而不是实际的节点大小。是否有任何属性可以减少图表中的总空白量?谢谢!

1 个答案:

答案 0 :(得分:93)

根据我使用graphviz渲染该大小的图形(约700个节点)的经验,对这种属性设置组合的最小试错调整 - 一些结构,一些纯粹美学 - 对于所有三个对象(图形,节点和边缘)应该做你想要的:

减少节点之间的最小间隔,通过'nodesep';例如, nodes [nodesep = 0.75] ;这将使你的图形“太紧凑”。 ( nodesep ranksep 可能会影响点绘制图形的方式比任何其他可调参数更多)

减少不同等级节点之间的最小距离,例如 nodes [ranksep = 0.75] ; 'ranksep'设置不同等级的节点之间的最小距离 - 如果您的图表由多个等级组成,这将显着影响您的图形布局

增加边缘权重,例如 edge [weight = 1.2] ;这将使边缘更短,从而使整个图形更紧凑

删除节点边框和节点填充,例如 nodes [color = none; shape = plaintext] ,特别是对于椭圆形节点,总节点空间的很大一部分是“未使用”(即,不用于显示节点标签);每个节点的足迹现在都缩减为其文本

明确设置节点的字体大小(节点边框被放大,以便它们包围节点文本,这意味着给定节点的字体大小和文本量具有显着效果在它的大小); [fontsize = 11]应足够大,易于辨认,同时减少“杂乱”的外观(默认大小为14)

为节点和边缘使用不同的颜色 - 这将使您的图表更易于阅读;例如,将节点“text”fontcolor设置为蓝色,将边缘fontcolor设置为“gray”以帮助眼睛区分两组图形结构。这将产生比你想象的更大的差异。

明确设置总图表尺寸,例如 graph [size =“7.75,10.25”] (确保您的图表适合8.5 x 11页面并且它占据整个空间)