2012-02-07 13 views
0

依存ツリーを作成する方法私はボックスを一緒に接続することができましたが、私はそれをより表現可能な方法でツリーのように見せてくれませんでした。依存関係ツリーを作成する方法

digraph G{ 
m1[shape=box, color=grey, style=filled] 
m2[shape=box, color=grey, style=filled] 
m3[shape=box, color=grey, style=filled] 
m4[shape=box, color=grey, style=filled] 
m5[shape=box, color=grey, style=filled] 
p1[shape=diamond,color=lightblue, style=filled] 
p2[shape=diamond, color=lightblue, style=filled] 
p3[shape=diamond, color=lightblue, style=filled] 
p4[shape=diamond, color=lightblue, style=filled] 
{rank=sink;x1;x2;x3;x4;} 
{rank=source;y1;} 
{rank=same;m3;p3;x11;x5;x6;x7;x8;} 
node[shape=circle] 
y1 -> x9 
y1 -> m5 
x10 -> m4 
x10 -> p4 
x9-> m3 
x9-> p3 
x6 ->m1 
x6 ->p1 
x5 ->m1 
x5 ->p1 
x8 -> m2 
x8 -> p2 
x7 -> m2 
x7 -> p2 
y1 -> x10 
y1 -> x12 
x5 -> x1 
x5 -> x2 
x6 -> x1 
x6 -> x2 
x7 -> x3 
x7 -> x4 
x8 -> x3 
x8 -> x4 
x9 -> x6 
x9 -> x5 
x9 -> x11 
x10 -> x8 
x10 -> x7 
} 

私は、私にはそれほど悪くは見えませんでした enter image description here

答えて

1

あなたのグラフのようなものを作成することができませんでした。あなたのモックアップ画像に少し近づくために、ここで何ができるかです:

  • splines=false)エッジをまっすぐに
  • ranksep=1)のノード間を確実にするために 見えないエッジを追加距離を増やしますノードの順序
  • 個人的嗜好:同じ点(edge[tailport=s])からエッジ起点を有する

ここで修正グラフです:おそらく正確にあなたが後にしているものに応じて、行うことができるより多くをあります

digraph G{ 
splines=false; 
ranksep=1; 

node[shape=box, color=grey, style=filled]; 
m1;m2;m3;m4;m5; 

node[shape=diamond,color=lightblue, style=filled] 
p1;p2;p3;p4; 

node[style=solid, color=black, shape=circle, width=0.6, height=0.6]; 
{ 
    rank=same; 
    x9;x12;x10;m5; 
} 
{ 
    rank=same; 
    edge[style=invis]; 
    p3->x11->x5->x6->m3; 
    p4->x7->x8->m4; 
} 
{ 
    rank=same; 
    edge[style=invis]; 
    p1->x1->x2->m1; 
    p2->x3->x4->m2; 
} 

edge[tailport=s]; // also try adding: headport=n 
y1 -> m5 
y1 -> x9 
y1 -> x12 
y1 -> x10 
x10 -> m4 
x10 -> p4 
x9-> m3 
x9-> p3 
x6 ->m1 
x6 ->p1 
x5 ->m1 
x5 ->p1 
x8 -> m2 
x8 -> p2 
x7 -> m2 
x7 -> p2 
x5 -> x1 
x5 -> x2 
x6 -> x1 
x6 -> x2 
x7 -> x3 
x7 -> x4 
x8 -> x3 
x8 -> x4 
x9 -> x6 
x9 -> x11 
x9 -> x5 
x10 -> x8 
x10 -> x7 
} 

graphivz output

+0

ありがとうございます!ドキュメントが不足しているようですね!これはやります! – user739807

関連する問題