gar*_*h0p 60 configuration graphviz graph-drawing image-size
有没有人有任何减少graphviz生成的图形大小的一般提示(区域大小,而不是文件大小).
我有一个相当大的图(700个节点).我为每个节点设置了较小的字体大小,但它似乎只减小了字体大小而不是实际的节点大小.是否有任何属性可以减少图表中的总空白量?谢谢!
dou*_*oug 95
根据我使用graphviz渲染该大小的图形(~700个节点)的经验,对这三种对象(图形,节点和edge)应该做你想做的事:
通过'nodesep' 减少节点之间的最小间隔 ; 例如,节点[nodesep = 0.75] ; 这将使你的图形"太紧凑".(nodesep和ranksep可能会影响点绘制图形的方式比任何其他可调参数更多)
减少不同等级节点之间的最小距离,例如节点[ranksep = 0.75] ; 'ranksep'设置不同等级的节点之间的最小距离 - 如果您的图表由多个等级组成,这将显着影响您的图形布局
增加边缘权重,例如边缘[权重= 1.2] ; 这将使边缘更短,从而使整个图形更紧凑
删除节点边框和节点填充,例如节点[color = none; shape = plaintext],特别是对于椭圆形节点,总节点空间的很大一部分是"未使用"(即,不用于显示节点标签); 现在每个节点的足迹都缩减为其文本
明确设置节点的字体大小(节点边框被放大,以便它们围绕节点文本,这意味着给定节点的字体大小和文本量对其大小有显着影响); [fontsize = 11]应该足够大,易于辨认,同时还要减少"杂乱"的外观(默认大小为14)
为节点和边缘使用不同的颜色 -这将使您的图表更易于阅读; 例如,将节点"text"fontcolor设置为蓝色,将边缘fontcolor设置为"gray",以帮助眼睛区分两组图形结构.这将产生比你想象的更大的差异.
明确设置总图形大小,例如,图形[size ="7.75,10.25"](确保您的图形适合8.5 x 11页面并占据整个空间)