私はgraphvizで図を生成しています。非常に大きいノードがいくつかあり、小さなノードが多数あります。私はneatoとfdpでpngを生成しようとしましたが、どちらも非常に大きなグラフィックスを生成します。ほとんどの場合、空白です(ノードは非常に離れています)。これらのツールがノードをより緊密に接近させるために大きなばね力を設定する方法はありますか?コンパクトなグラフレイアウトのためにgraphvizで 'spring' forceを設定する方法
8
A
答えて
11
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;
は非常に古いです:sfdp/FDPを使用する場合は、[K]と呼ばれる属性があります( http://www.graphviz.org/doc/info/attrs.html#d:K)、この目的のために役立ちます。 – Yosh