在 Dot (graphviz) 中强制子图的不同等级

问题描述

我有一个带两个子图的点图,选项为“rank=same”

digraph G {
rankdir=LR;
newrank=true;
splines=false;

subgraph  {
rank=same;
a1;
b1;
c1;
}

subgraph  {
rank=same;
a2;
b2;
c2;
}
}

它给了我以下内容

enter image description here

但是,我如何强制排名不同,即 a1、b1、c1 与 a2、b2、c2 处于不同的排名?

解决方法

使用不可见的边缘:

digraph G {
rankdir=LR;
//newrank=true;  // only applies to clusters
splines=false;    
subgraph  {
rank=same;
a1;
b1;
c1;
}
subgraph  {
rank=same;
a2;
b2;
c2;
}
a1 -> a2 [style=invis]
}

给予:
enter image description here