2017-10-17 31 views
1

は、問題は、私は中央の箱の周りの矢印の方向を制御する方法を見つけることができないということですGraphvizのenter image description hereコントロールGraphvizの矢印方向

digraph UDEF0 { 
"Plan New Information Program" [shape=box] 
"Issues"      [shape=none] 
"Operation Data"    [shape=none] 
"Program Charter"    [shape=none] 
"Program Team"     [shape=none] 
"Program Plan"     [shape=none] 

"Issues" ->   "Plan New Information Program" 
"Operation Data" -> "Plan New Information Program" 

"Program Charter" -> "Plan New Information Program" 

"Program Team" ->  "Plan New Information Program" 

"Plan New Information Program" -> "Program Plan" 
} 

使用IDEF0図の例を描画します。

私は、目に見えない南、北、東、西のノードで作られた隠れた「フレーム」を使って矢印を接続しようとしました。残念ながら、「フレーム」は、それが空である場合にのみ、うまく機能し、私はそれに私の「ペイロード」ノードを接続する場合、構造が壊れる:

digraph UDEF0 { 
    rankdir=LR 
    "Plan New Information Program" [shape=box] 
    "Issues"      [shape=none] 
    "Operation Data"    [shape=none] 
    "Program Charter"    [shape=none] 
    "Program Team"     [shape=none] 
    "Program Plan"     [shape=none] 
    "Program Plan"     [shape=none] 


    "West"     [shape=none] 
    "North"     [shape=none] 
    "South"     [shape=none] 
    "East"     [shape=none] 
    "West" -> "North" -> "East" 
    "West" -> "South" -> "East" 


    "West" -> "Issues" ->   "Plan New Information Program" 
    "West" -> "Operation Data" -> "Plan New Information Program" 

    "North" -> "Program Charter" -> "Plan New Information Program" 

    "South" -> "Program Team" ->  "Plan New Information Program" 

    "East" -> "Plan New Information Program" -> "Program Plan" 
} 

この図のスタイルを実装する任意の正しい方法は何ですか? shape = recordを使用して

答えて

2

はあなたが望むものに近づけ - ここに私の再書か試み:

digraph UDEF0 
{ 
    A[ label = "Plan New\nInformation\nProgram", shape=box, style = filled, fillcolor = grey ] 
    B[ shape = record, color = white, label = "{ Operation Data | Issues }" ] 
    node[ shape = none ] 
    c[ label = "Program Charter" ] 
    d[ label = "Program Team" ] 
    e[ label = "Program Plan" ] 

    { rank = same; A B e } 

    c -> A; 
    A -> d[ dir = back ]; 
    edge[ minlen = 3] 
    B -> A; 
    B -> A; 
    A -> e; 
} 

利回り

enter image description here

関連する問題