【发布时间】:2011-07-29 22:35:30
【问题描述】:
我正在使用graphviz 生成图表,但我遇到了一个问题 - 有几个非常大的节点 - 以及大量的小节点。我尝试使用neato 和fdp 生成png,但两者都生成非常大的图形,其中大部分是空白的(节点相距很远)。有没有办法为这些工具设置更大的弹簧“强度”以迫使节点靠得更近?
【问题讨论】:
-
知道这个帖子很老了:如果使用 sfdp/fdp,有一个名为 K 的属性,用于此目的。
我正在使用graphviz 生成图表,但我遇到了一个问题 - 有几个非常大的节点 - 以及大量的小节点。我尝试使用neato 和fdp 生成png,但两者都生成非常大的图形,其中大部分是空白的(节点相距很远)。有没有办法为这些工具设置更大的弹簧“强度”以迫使节点靠得更近?
【问题讨论】:
使用neato时,您可以使用overlap 和sep 属性。
overlap可以设置为false、compress、scalexy和more。
sep 可以在与前面的加号一起使用时指定附加边距,否则边距通过将节点的大小缩放为 1 + sep 的值来定义。好像是默认的
不要犹豫发布示例图表。不知道您的特定图表,我做了一个包含一些大节点和一些小节点的示例:
layout=neato;
overlap=scalexy; //false, compress, ...
sep="+1"; // 0.1, +1
node[label="Large node", width=2, height=2];
l1; l2; l3;
node[label="\N", width=0.5, height=0.3];
1 -> l1;
2 -> l1;
3 -> l1;
4 -> l1;
5 -> l1;
5 -> l2;
6 -> l2;
7 -> l2;
8 -> l2;
8 -> l3;
9 -> l3;
10 -> l3;
【讨论】:
sep="+1";