2016-11-17 3 views
1

に長いラベルを持つノードを取得するにはどうすればGraphvizのために新たなんだと私は最初のクラスタ内で、レイアウトをラベルを追加したいとき、私はしかし、次のグラフィックライン

graph without labels

を取得しようとしています破壊される。 制約を変更すると、最初のクラスタのレイアウトは、最初のクラスタからノードDまでのエッジが変化するようなものになります。


    digraph Name { 
    graph [fontsize=10 fontname="Verdana" compound=true]; 
    { rank=same; 
    0 [style=invis];
01 [style = invis]; 02 [style=invis]; 0-> 01 -> 02 [style=invis]; }

subgraph cluster1 { compound=true ; fontsize = 20; label = "ooooooooooo oooooooo"; A [label="aaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa"]; {rank="same"; B [label="bbbbbbbbbb"]; C [label="cccccccccccc"]; 0; 01;} {rank="same"; edge [style=invis]; B1 [label="b1b1b1b1 b1\nb1b1b1b1b1b1b1b1b1"]; C1 [style=invis];} {rank="same"; edge [style=invis]; B2 [label="b2b2b2b2b2 b2b2b2\nb2b2b2b2b2"]; C2 [style=invis];} A->B ; 0->B [style=invis]; B->B1 [group=g1]; B1->B2 [group=g1]; A->C ; 01->C [group=g2 style=invis]; C->C1 [group=g2 style=invis]; C1->C2 [group=g2 style=invis]; style = "dashed"; } subgraph cluster2 { style=invis {rank=same; D [label="ddddddd dddd"]; D1 [label="d1d1d1"]; D2 [label="d2d2d2d2d2d"]; D3 [label="d3d3d3 d3d3d3d"]; 02;} 02 -> D [style=invis]; D -> D1; D1 -> D2; D2 -> D3; } // edges between clusters C -> D [ ltail=cluster1 constraint=false]; } </code></pre>

答えて

0

使用

node[ width = x ]; 

:ここでは例の画像がnewbeeとして私はいくつかの冗長なコードが含まれている可能性がある、

graph with labelsここ

がラベルとグラフのためのコードであるラベルxはあなたのラベルに合った番号です。

私はこれを取得するようにコードの行45に

node[ width = 3 ]; 
ライン上

17と

node[ width = 2 ]; 

を使用:

enter image description here

+0

をどうもありがとうございました。最初のサブクラスタから2番目のサブクラスタへのエッジの制約コマンドがなぜ最初のサブクラスタ内でどのように揃うのかを実際に理解していません。 しかし、主な問題は、あなたのソリューションで動作します! – Stephan