2011-08-30 77 views
4

我在Graphviz中有一個簡單的有向圖,有兩種節點和邊。每種都有它自己的顏色。我的問題是,我想保留圖形的繪製方式,只是改變顏色。但是,當我交換兩個節點定義中的節點名稱時,該圖將更改其佈局。相同的節點,在Graphviz中的不同的高度

node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = palegreen] 3 "4-5" 7 "8-9" 10 18 19 
node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = grey] 11 12 "13-14" 

有沒有辦法強制它到一個靜態佈局?

回答

8

order其中定義節點確實會影響佈局。

如果要保留佈局並僅更改節點的顏色,則需要保留訂單(首次)出現節點並僅更改它們的fillcolor屬性。

例如:

digraph g { 
    node [shape = circle, width = 0.95, fixedsize = true, style = filled, fillcolor = palegreen]; 
    3; 
    "4-5"; 
    7; 
    "8-9"; 
    10 [fillcolor = grey]; 
    18; 
    19; 
    // new default fillcolor 
    node [fillcolor = grey]; 
    11; 
    12 [fillcolor = palegreen]; 
    "13-14"; 
} 

fillcolor nodes

所得的,可以指定使用node [fillcolor = grey]指令默認屬性,並覆蓋默認值一個特定節點,如果上需要(12 [fillcolor = palegreen])。