2009-09-18 21 views
4

私はCFG(文脈自由文法)を構築していますが、出口ノードは常にグラフの最下部にしたいと思います。ときには自然に起こることもあれば、時にはそうでないこともあります。Graphviz:ノードを強制的に下に移動する方法はありますか?

例:

digraph G { 
    0; 
    1; 
    4; 
    5; 
    7; 
    8; 
    0 -> 4; 
    5 -> 7; 
    7 -> 8; 
    7 -> 1; 
    8 -> 5; 
    4 -> 7; 
} 

が(ドットを使用して)描画:

alt text

ノード1は、私の出口ノードであり、私はそれが底になりたいです。提案? DOT

答えて

7

使用ランクの仕様 "-y" オプションを試してみてください。この場合、シンクは、下部にそれを作る必要があると最大は5と同じレベルにそれを作るだろう:私のために空白のグラフを構築

digraph G { 
    0; 
    { rank = sink; 1; } 
    5; 
    4; 
    7; 
    8; 
    0 -> 4; 
    5 -> 7; 
    7 -> 8; 
    7 -> 1; 
    8 -> 5; 
    4 -> 7; 
} 
+0

パーフェクト。これは、ランクがどのように使用されるべきかを明確にしました。私は明らかにそれを誤解しました。私はこの後ランク=同じを使用して別の問題を解決しました。ありがとう。 –

-2

は、部分グラフのための

-y   - Invert y coordinate in output 
+0

を。しかし、この説明は、グラフを上下に逆さまにしなければならないことを意味します。これは私が望むものではありません。私は強力に接続されたコンポーネントから "1"を引き出したいと思う。 –

関連する問題