cytoscape.js 考虑布局节点重叠

cytoscape.js cose layout nodes overlapping

我正在尝试确定在将 cytoscape.js 库与 cose 布局一起使用时如何获得正确的间距。特别是,当我定义节点的宽度和高度时,节点往往会重叠。

这里是Demo

我已经尝试过布局选项,但我没有找到任何选项可以为我提供预期的结果。同样理想的是,我将能够拥有不同大小的节点。

旁注:我发现一个奇怪的行为,当创建具有相同源和目标的边的图形时.. 布局间距符合我的预期。 (请参阅 plnkr 上的红色按钮)。但如果我没有这种优势,显然也无济于事。

添加边会改变系统的动态。基本力是 spring/elasticity、斥力和中心引力。您也可能对节点重叠乘数感兴趣,它有助于在检测到重叠时增加力。您必须尝试多种组合以查看哪些组合适用于您的数据,但它确实有效。以下是一些根据数据适当调整选项的示例:#1 #2

这是开发人员时间与面向用户的 运行时间性能的权衡。 CoSE 确实很快,但开发人员需要为他们的数据设置合适的选项。其他强制布局,如 CoSE-Bilkent 和 Cola,对开发人员来说更容易使用——但它们 运行 速度较慢。