2012-10-24 37 views
10

我想子圖clusterCG具有相同的秩爲3(clusterCG schould不含3)如何更改Graphviz子圖級別?

digraph G{ 
rankdir = LR; 
node [shape = none] 

1->2->3->4[arrowhead=none] 

node [shape = ellipse] 

A->A2->A3; 

subgraph clusterCG{ 
    shape = rect; 
    rank=same; 
    A2; 
    B; 
    C; 
    color=blue; 
    label="C"; 
} 

{ rank=same; 1; A;} 
{ rank=same; 3; CG;} 
{ rank=same; 4; A3;} 
} 

enter image description here

CG作爲獨立的節點生成具有秩3

我想要的子圖clusterCG有排名3.

+0

FDSg,你不應該接受的答案。我看起來很好!我知道你自己寫的,但是它很有幫助。 –

+0

我同意。這幫助我找出了一種難以解決的問題,那就是我採用了不同的佈局。謝謝。 – melston

回答

7

也許不是最好的解決方案,但似乎零大小的節點是唯一的作品

digraph G{ 
rankdir = LR; 
node [shape = none] 

1->2->3->4[arrowhead=none] 

node [shape = ellipse] 
ACG[shape = none,label="",width=0, height=0]; 

CG->A2 [style=invis,constraint=false]; 

A->ACG[arrowhead=none]; 
ACG->A2->A3; 

subgraph clusterCG{ 
    shape = rect; 
    rank=same; 
    A2; 
    B; 
    C; 
    color=blue; 
    label="C"; 
} 

{ rank=same; 1; A;} 
{ rank=same; 2; ACG;} 
{ rank=same; 4; A3;} 

} 

enter image description here

2

使用不同等級的算法與 「newrank =真正的」

digraph G { 
newrank=true 
rankdir = LR; 
node [shape = none] 

1->2->3->4[arrowhead=none] 

node [shape = ellipse] 

A->A2->A3; 

subgraph clusterCG{ 
    shape = rect; 
    rank=same; 

    A2; 
    B; 
    C; 
    color=blue; 
    label="C"; 
} 

{ rank=same; 1; A;} 
{ rank=same; 3; A2} 
{ rank=same; 4; A3;} 
}