我有这个Graphviz图:
digraph
{
rankdir="LR";
overlap = true;
Node[shape=record, height="0.4", width="0.4"];
Edge[dir=none];
A B C D E F G H I
A -> B -> C
D -> E -> F
G -> H -> I
Edge[constraint=false]
A -> D -> G
subgraph clusterX
{
A
B
}
subgraph clusterY
{
E
H
F
I
}
}
Run Code Online (Sandbox Code Playgroud)
产生这个输出:

我原本期望A和D之间的边缘长度最小化,以便节点排列为:
A B C
D E F
G H I
Run Code Online (Sandbox Code Playgroud)
而不是
D E F
G H I
A B C
Run Code Online (Sandbox Code Playgroud)
如果我删除子图定义,这将按预期工作.
为什么Graphviz在引入子图时将ABC置于底部?