如何实现 graphviz 点的严格反向排名?
How can I achieve strict reverse ranking of graphviz dot?
编辑:如果发布了一个新问题来取代这个问题。
首先,让我对inventing/abusing标题中的一些术语表示歉意。 "strict" 我的意思是相同等级的所有节点在输出图像中需要相同的 y 位置,而默认情况下它们会稍微移动。其次,"reverse" 我的意思是所有叶子都具有相同的等级,出现在图表底部的同一行,并且它们的所有祖先都被相应地排名和对齐(没有反转边缘方向)。我正在使用的图是有界半格,因此没有循环部分,所有节点都有明确定义的等级。
我试过反转边的方向("dir=back"可以让边看起来原来的方向一样),但是"strict"部分还是问题
如何将所有的叶子都放在底部(最大)等级?
您可以包含一个包含所有离开节点的子图并添加属性 rank=max
:
{
rank=max;
leaf1; leaf2; leaf3;
}
这应该将所有叶节点放在底部。
我最终更改了生成 graphviz 的算法以在输出中放置几个 { rank = same; ... }
项目
编辑:如果发布了一个新问题来取代这个问题。
首先,让我对inventing/abusing标题中的一些术语表示歉意。 "strict" 我的意思是相同等级的所有节点在输出图像中需要相同的 y 位置,而默认情况下它们会稍微移动。其次,"reverse" 我的意思是所有叶子都具有相同的等级,出现在图表底部的同一行,并且它们的所有祖先都被相应地排名和对齐(没有反转边缘方向)。我正在使用的图是有界半格,因此没有循环部分,所有节点都有明确定义的等级。
我试过反转边的方向("dir=back"可以让边看起来原来的方向一样),但是"strict"部分还是问题
如何将所有的叶子都放在底部(最大)等级?
您可以包含一个包含所有离开节点的子图并添加属性 rank=max
:
{
rank=max;
leaf1; leaf2; leaf3;
}
这应该将所有叶节点放在底部。
我最终更改了生成 graphviz 的算法以在输出中放置几个 { rank = same; ... }
项目