6
我有一些相對簡單的(自動生成)graphviz點格式圖。這些顯示了通過狀態機的路徑,但是當我希望圖形處於狀態順序時,dot有一個稍微混淆的習慣,即決定兩個節點必須處於相同的級別。我嘗試了很多設置(包括下面列出的:n
和:s
和weight
),但我無法說服dot將第三州置於以上。你如何強制在點上的節點排名?
我有很多圖的這個問題:似乎有點內部的東西,決定它會更好,如果兩個節點在相同的排名,並沒有什麼可以做到覆蓋它。我甚至有代碼指出一個節點應該是rank=sink
,但dot已決定將另一個節點放在它下面。
有沒有什麼辦法可以說明節點比任何其他約束更重要?
這是用於生成圖表的代碼如下所示:
digraph {
ERROR [label="Error"];
FirstSTATE [label="Initial State" URL="\ref FirstSTATE"];
FirstSTATE -> SecondSTATE;
SecondSTATE [label="Second State" URL="\ref SecondSTATE"];
SecondSTATE -> ThirdSTATE;
ThirdSTATE [label="Third State" URL="\ref ThirdSTATE"];
FourthSTATE [label="Fouth State?" shape="diamond"];
ThirdSTATE:s -> FourthSTATE:n [weight=50];
FourthSTATE -> FifthSTATE [label="Yes" ];
FourthSTATE -> ThirdSTATE [label="No"];
FifthSTATE [label="Fifth State" URL="\ref FifthSTATE"];
SixthSTATE [label="Sixth State?" shape="diamond"];
SixthSTATE -> ERROR [label="Yes" ];
SixthSTATE -> SeventhSTATE [label="No"];
FifthSTATE -> SixthSTATE;
SeventhSTATE [label="Seventh State" URL="\ref SeventhSTATE"];
SeventhSTATE -> EighthSTATE;
EighthSTATE [label="Eighth State" URL="\ref EighthSTATE"];
NinthSTATE [label="Ninth State?" shape="diamond"];
NinthSTATE -> TenthSTATE [label="Yes" ];
NinthSTATE -> EighthSTATE [label="No"];
EighthSTATE -> NinthSTATE;
TenthSTATE [label="Tenth State" URL="\ref TenthSTATE"];
EleventhSTATE [label="Eleventh State?" shape="diamond"];
EleventhSTATE -> ERROR [label="Yes" ];
EleventhSTATE -> TwelfthSTATE [label="No" ];
TenthSTATE -> EleventhSTATE;
TwelfthSTATE [label="Twelfth State" URL="\ref TwelfthSTATE"];
}
圖表目前看起來是這樣的:
意想不到:謝謝! – DrAl 2009-07-10 07:15:21