修改:如果发布了一个新问题则取代此问题。 Align Ranks in Graphviz
首先,让我为发明/滥用标题中的一些术语而道歉。通过" strict"我的意思是相同等级的所有节点在输出图像中需要相同的y位置,而默认情况下它们会稍微移位。第二,通过"反向"我的意思是所有的叶子都是相同的等级,出现在图形底部的同一行,并且所有的祖先都要相应地排列和对齐(不反转边缘方向)。我使用的图是有界半格,因此没有周期性部分,所有节点都有明确的等级。
我尝试了反转边缘方向(" dir = back"可以使边缘看起来像原始方向),但是" strict"部分仍然是一个问题
答案 0 :(得分:2)
如何将所有树叶放在最低(最高)等级?
您可以包含一个包含所有离开节点的子图,并添加属性rank=max
:
{
rank=max;
leaf1; leaf2; leaf3;
}
这应该将所有叶子节点放在底部。
答案 1 :(得分:1)
我最终更改了生成graphviz的算法,在输出中放置了几个{ rank = same; ... }
项