2017-08-07 118 views
-2

image.dot在Graphviz(點語言)中,我可以做些什麼來獲取節點水平方式。我正在使用rankdir = LR,但當我在子圖中使用它不起作用

我是初學者使用Graphviz。我能做些什麼來獲得這樣的?你們能幫我一下,謝謝。

+0

歡迎SO。請**訪問** [幫助中心](http://stackoverflow.com/tour)**並參觀遊覽以瞭解需要什麼以及如何提問。提示:郵政編碼和努力 - –

+0

我喜歡在GraphViz問題中提供幫助,但我需要了解您嘗試過的方法以幫助您。請發佈您的DOT文件,以便我們提供幫助。 – TomServo

回答

0

使用「相同」的等級來構建列出集羣節點的

使用「不可見」箭頭以在原始

使用在每個簇「allign」頂部節點「newrank = true」和「{ rank = same ...}「,用於來自每個raw中每個第一個集羣的所有頂級節點。如果你不這樣做,你的圖將通過刪除指向開始節點的鏈接而分崩離析。

digraph G { 

    rankdir=LR; 
    newrank=true; 

    subgraph cluster_a { 
     subgraph cluster_a0 { 
      rank=same; 
      a00;a01;a02;a03; 
     } 
     subgraph cluster_a1 { 
      rank=same; 
      a10;a11;a12; 
     } 
    } 

    subgraph cluster_b { 
     subgraph cluster_b0 { 
      rank=same; 
      b00;b01; 
     } 
     subgraph cluster_b1 { 
      rank=same; 
      b10;b11;b12;b13; 
     } 
     subgraph cluster_b2 { 
      rank=same; 
      b20;b21;b22; 
     } 
    } 

    subgraph cluster_c { 
     subgraph cluster_c0 { 
      rank=same; 
      c00;c01; 
     } 
    } 

    first -> second; 

    second -> a00; 
    second -> b00; 
    second -> c00; 

    a00 -> a10 [style=invisible, arrowhead=none]; 
    b00 -> b10 -> b20 [style=invisible, arrowhead=none]; 

    {rank=same a00 b00 c00} 
} 

enter image description here

+0

你也可以添加'compound = true;'和'second-> a00 [lhead = cluster_a0];'讓箭頭指向節點而不是集羣。 – slk

相關問題