Graphviz:水平对齐节点

Graphviz: align nodes horizontally

我认为下面的内容很简单,但由于某些原因,事实并非如此...

让我们从这个开始:

digraph G {
    rankdir=LR
    A -> B -> C -> E -> F
}

这是输出:

现在,让我们添加一个反向关系:

digraph G {
    rankdir=LR
    A -> B -> C -> E -> F
    E -> A
}

我明白了:

最后,我想要的是节点水平对齐,向后箭头绕一圈。我在想,很简单,用 rank=same:

digraph G {
    rankdir=LR
    {rank=same;A -> B -> C -> E -> F}
    E -> A
}

糟糕:

现在,它甚至没有水平对齐,甚至没有顺序对齐(它是 E、F、A、B、C)。那么我如何获得第一个输出中的布局,其中有一个从 E 到 A 的箭头?

怎么样:

digraph G {
    //rankdir=LR
    {rank=same;A -> B -> C -> E -> F}
    E -> A
}

rank=same 强制 LR