Как изменить ранг графа Graphviz?
Я хочу, чтобы subgraph clusterCG имел такой же ранг, как 3 (clusterCG не содержал 3)
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 генерируется как независимый node с рангом 3.
Я хочу, чтобы подграф clusterCG имел ранг 3.
Ответы
Ответ 1
Возможно, это не лучшее решение, но кажется, что узлы с нулевым размером - это единственное, что работает
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 = 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;}
}