3

这是绘制相同层次结构的两种不同方法。请注意,在“堆叠”布局中,节点总是比它们最高的“子”节点高一层。(重要提示:请参阅问题底部的编辑以获取另一个示例)

可视化同一图表的两种不同方式

这两种分层绘制方法有具体的名称吗?我正在尝试为“堆叠”算法找到现有算法,但似乎无法显示任何信息,因为我不知道它叫什么。

如果它们没有名称来区分它们,因为它们依赖于相同的算法,那么是否有众所周知的参数集用于使用现有算法获得图形的“堆叠”版本?谢谢!

编辑:虽然上面的图表是严格的“”,但我正在寻找的算法应该能够处理节点有多个父节点的情况,以及从根到叶有多个路径的情况。这是一个例子这是另一个

Edit2:如果它对任何人都有用,带有预先计算的节点层(y 轴约束)的 hacky(和缓慢)强制导向方法似乎可以正常工作。这是它的样子。该示例使用 cytoscape.js 和 cola.js,而且它是颠倒的。这根本不是这个问题的解决方案,所以我只是把它放在这里作为编辑。

(SO wouldn't let me submit the JSBin link without a code block...)
4

1 回答 1

1

我不知道上述的任何具体名称。看起来这两种情况下的分层算法都是最小化高度但基本上忽略宽度的最长路径算法。如果您从下往上对图进行分层,并且该图有许多汇(出度为零的顶点),那么您将获得一个较宽的底层(“堆叠”布局?)。如果您从上到下对图形进行分层,并且它有许多来源(入度为零的顶点),那么您将获得一个较宽的顶层(“悬挂”布局?)。

于 2017-08-30T11:00:43.090 回答