javascript - 如何使 Cytoscape.js 中的边缘不被拦截?

标签 javascript graph cytoscape.js

我正在使用 Cytoscape 库制作图形,并且我正在使用此设置

  layout: {
    name: 'cose',
        idealEdgeLength: 100,
        nodeOverlap: 20,
        refresh: 20,
        fit: true,
        padding: 30,
        randomize: false,
        componentSpacing: 50,
        nodeRepulsion: 400000,
        edgeElasticity: 100,
        nestingFactor: 5,
        gravity: 300,
        numIter: 1000,
        initialTemp: 200,
        coolingFactor: 0.95,
        minTemp: 1.0
  },

图形还可以,但边有时会相互 chop ,我需要多次刷新图形或重新排列图形以获得好看的图形。是否可以强制 Cytoscape 在渲染时不拦截边缘?

最佳答案

力导向布局是一种物理模拟,它设置每个元素的力来约束结果。相对边长通常具有与之相关的含义(例如权重),并且您通常希望看到自然聚类。考虑到这些事情避免边缘交叉通常会产生冲突。

Graphviz 和 Mathematica 具有平面布局,如果您愿意,您可以将它们移植到 Cytoscape 布局扩展。但是,您将失去力导向布局的好处。

另见:

关于javascript - 如何使 Cytoscape.js 中的边缘不被拦截?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48271797/

相关文章:

javascript - 流类型注释是否包含在运行时的生产代码中?

javascript - 如何使用javascript将选定的文本复制到剪贴板

javascript - 为什么 Javascript 运算符 "&&"这么奇怪?

javascript - Cordova Android 'Uncaught Function required as first argument' 由事件监听器引起

javascript - 处理带有空格的 ID (Cytoscape.js)

delphi - 如何在Delphi中对图实现深度优先搜索(DFS)?

language-agnostic - 网络(图形)数据的新颖或鲜为人知的数据结构?

android - 如何在 Android ICS 数据使用设置中生成图表

javascript - 点击时的 cytoscape.js 平移和 z-index/foregrounding 元素

javascript - 未捕获的 TypeError : $(. ..).cytoscape 不是函数