2011-04-05 127 views
8

我正在生成graphviz圖,我遇到了一個問題 - 有幾個節點非常大 - 以及大量的小節點。我嘗試使用neatofdp生成png,但都生成非常大的圖形,這些圖形大部分是空白的(節點距離很遠)。有沒有辦法爲這些工具設置一個更大的彈簧「強度」來強制節點靠得更近?如何使用graphviz設置緊湊圖形佈局的'spring'力

+1

知道這個職位是很老:如果使用SFDP/FDP,有一個名爲[K]屬性( http://www.graphviz.org/doc/info/attrs.html#d:K),它是爲此目的服務的。 – Yosh 2014-07-05 14:24:59

回答

11

使用neato時,您可能會撥弄overlapsep屬性。

overlap可以設置爲falsecompressscalexy,和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; 

enter image description here

+0

sep =「+ 1」固定爲「找到意想不到的字符」+'「 – qxo 2017-07-04 09:39:48

+0

@qxo看起來像現在你必須把它放在引號'sep =」+ 1「之間;'' – marapet 2017-07-04 13:14:03