2017-04-08 58 views
1

我在LRGraphViz - 當主圖是從左到右時如何讓子圖從上到下?

digraph { 
    rankdir=LR; 
    node [shape=box] 
    x1;x2;x3;y1;y2;y3;y4;y5;y6;y7;y8; 
    node [shape=oval] 
    ind60;dem60;dem65; 
    {x1,x2,x3} -> ind60 
    dem65->{y5,y6,y7,y8} 

    subgraph cluster_0{ 
    rankdir=TB 

    {y1,y2,y3,y4} -> dem60[constraint=false] 

    } 
    ind60->dem60 ind60->dem65 dem60->dem65 
} 

的方向有一個曲線圖中的結果如下: image1

我想在TB方向上的子圖。我怎樣才能做到這一點?

subgraph

+0

我敢肯定,我是在這裏密集的解決這個,但你的子圖的外觀從上到下給我 – user20650

+0

TB =從上到下,您的cluster_0子圖在頂部有y1,在y4在底部。這是從頂部到底部的方向。你想要什麼? –

+0

我希望子圖看起來像圖像'子圖'。謝謝 –

回答

1

根據文檔rankdir僅適用於圖形不是子圖。

您可以通過添加一些腳手架無形的邊沿和節點的形式,這樣

digraph { 
    rankdir=LR; 
    node [shape=box] 
    x1;x2;x3;y1;y2;y3;y4;y5;y6;y7;y8; 
    node [shape=oval] 
    ind60;dem60;dem65; 
    {x1,x2,x3} -> ind60 
    dem65->{y5,y6,y7,y8} 

    subgraph cluster_0{ 

     y2a[shape=point color=none] 
     y1->y2->y2a->y3->y4[color=none weight=1000] 
     {y1 y2}->dem60 
     {rank=same y2a->dem60[color=none]} 
     {y3 y4}->dem60 

    } 
    {rank=same ya[shape=point color=none] x1 x2 x3} 
    {rank=same yb[shape=point color=none] y5 y6 y7 y8} 
    ya->y1[color=none] y4->yb[color=none] 
    ind60->dem60 ind60->dem65 dem60->dem65 
} 

enter image description here

相關問題