2012-10-24 100 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;} 
}