当有多个孩子时,Cytoscape Dagre 会显示连接的孩子

问题描述

我使用 Cytoscape Dagre 扩展从左到右显示分层图。 它有 14 个孩子和一个父母 1 和主要父母。所有的孩子都连接到父母 1,但是每当我使用 dagre 扩展绘制图形时,似乎孩子之间是相互连接的。它们之间没有任何边缘,但 Dagre 仍然表明了这一点。带有 Dagre 的 Cytoscape 是否能够显示具有多个孩子的分层图?

这是stackblitz的例子:https://stackblitz.com/edit/dagre-childrenconnected

解决方法

您的边缘与您的子节点重叠,这不是特定于 dagre 的问题,您的 cytoscape-stylesheet 只是缺少一些参数。对于出租车边缘,要了解的重要一点是,您的边缘遵循样式规则,例如您使用的布局算法。对于布局,您可以使用 layout 选项来指定布局应如何放置节点。边缘通过样式表设置样式,并且它们都有一些选项可供使用。

就您而言,您应该查看文档中的 this 部分。在那里您可以找到类似 taxi-direction:

的选项
"taxi-direction": "rightward",

使用此选项,您的边缘将更适合您的布局。在您的情况下,您没有指定方向,因此滑行边缘使用 auto 选项作为默认值,它会根据垂直或水平距离是最大的,自动使用垂直或水平起始方向。在您的情况下,垂直触发导致节点重叠。