2012-10-24 20 views
10

Tôi muốn đồ thị con clusterCG có cùng cấp bậc như 3 (clusterCG schould không chứa 3)Làm thế nào để thay đổi xếp hạng đồ thị con của 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 được tạo ra như nút độc lập với cấp bậc 3.

Tôi muốn các đồ thị con clusterCG để có thứ hạng 3.

+0

FDSg, không nên bạn chấp nhận câu trả lời. Nó có vẻ tốt với tôi! Tôi biết bạn đã tự viết nó, nhưng nó khá hữu ích. –

+0

Tôi đồng ý. Điều này đã giúp tôi tìm ra một vấn đề khó khăn mà tôi đã có trong một loại bố cục khác. Cảm ơn. – melston

Trả lời

7

Có lẽ không phải giải pháp tốt nhất, nhưng có vẻ như các nút kích thước bằng không là điều duy nhất hoạt động

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

sử dụng thuật toán thứ hạng khác nhau với "newrank = true"

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;} 
} 
Các vấn đề liên quan