2017-10-14 67 views
1

我試圖創建一個帶點的圖形網絡。和Graphiz。Graphviz子圖順序

到目前爲止,這是我的代碼:

graph { 
rankdir = LR; 
splines=line;  

subgraph cluster_1{    
    1; 2; 
} 
subgraph cluster_2{ 
    b; c; 
} 

subgraph cluster_3{ 
color = white  
    10;11; 
} 

b -- {1 2 10 11}[color = blue]; 
c -- {1 2 10 11}[color = yellow]; 



1[label = "1", style = filled, fillcolor = grey91] 
2[label = "2", style = filled, fillcolor = grey91] 
b[label = "B", style = filled, fillcolor = blue] 
c[label = "C", style = filled, fillcolor = yellow] 
10[label = "10", style = filled, fillcolor = grey91] 
11[label = "11", style = filled, fillcolor = grey91] 

} 

這就是我得到:

enter image description here

這是我想獲得什麼: enter image description here

如何把子圖按正確的順序?

謝謝大家提前的幫助! 親切的問候!

回答

3

根據需要定義邊緣的順序有幫助。您的版本將1 2 10 11放在同一等級中,因此它們被設置爲一個在另一個之下。

graph 
{ 
    rankdir = LR; 
    splines = line; 

    node[ style = filled, fillcolor = grey91 ]; 
    1 2 10 11; 
    b[ label = "B", fillcolor = blue ]; 
    c[ label = "C", fillcolor = yellow ]; 


    subgraph cluster_1 
    {    
     1; 2; 
    } 
    subgraph cluster_2 
    { 
     b; c; 
    } 
    subgraph cluster_3 
    { 
     color = white  
     10; 11; 
    } 

    edge[ color = blue ] 
    { 1 2 } -- b -- { 10 11 }; 
    edge[ color = yellow ] 
    { 1 2 } -- c -- { 10 11 }; 
} 

產量

enter image description here

+0

你好@vaettchen,它工作得很好!非常感謝您的時間和幫助! – 3lli0t

+0

在cluster_3中,我會使用color =「invis」 – Misi