2012-10-24 12 views
10

voglio sottografo clusterCG avere stesso rango 3 (clusterCG non contiene schould 3)Come modificare il rank del sottografo grafico 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 è generato come nodo indipendente con rango 3.

voglio sottografo clusterCG per avere rank 3.

+0

fdsg, non si dovrebbe accettare la risposta. Mi sembra buono! So che l'hai scritto tu stesso, ma è stato molto utile. –

+0

Sono d'accordo. Questo mi ha aiutato a capire un problema difficile che avevo in un diverso tipo di layout. Grazie. – melston

risposta

7

Forse non è la soluzione migliore, ma sembra che i nodi di dimensione zero siano l'unica cosa che funziona

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

uso algoritmo di rango diverso con "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;} 
} 
Problemi correlati