javascript - Vis.js:减少多个中心节点的布局噪音(径向力)

标签 javascript vis.js vis.js-network

我正在使用 vis.js 来显示一些图表。问题是具有多个中心节点的布局会变得嘈杂(中心节点的邻居重叠)。类似于附图的布局是理想的。 是否可以使用 vis.js 来实现这一点?

enter image description here

最佳答案

看起来有一个选项可以解决您的问题(就像我之前建议的那样,我在使用 physicsConfiguration 后发现了它):

物理有 avoidOverlap 属性(在 01 之间 float ),可以像这样使用:

var options = {
  ...
  physics: {
    barnesHut: {
      avoidOverlap: 0.5
    },
    ...
  }
}

如果您在配置演示中尝试,您会发现,当 avoidOverlap 等于 0 时,很可能会拖动和移动节点,使这些节点重叠边缘和网络保持在该位置:

enter image description here

但是一旦我们增加这个值,节点就会开始从边缘反弹并且不能真正停留在那个位置:

enter image description here

但请注意,此选项不会阻止边缘交叉,只会阻止边缘节点重叠(请参阅 physics/barnesHut/avoidOverlap)。物理文档页面根本不包含“交叉”一词,每次出现“重叠”都是关于边缘节点的事情。

因此,这将使布局噪音较小,但不会消除交叉边缘。

关于javascript - Vis.js:减少多个中心节点的布局噪音(径向力),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49197228/

相关文章:

javascript - 我该如何解决这个问题(应该切换 'toggle' )

javascript - 如果下面没有 div 则隐藏标题

angularjs - 需要帮助在 angularjs 中使用 visjs 创建网络图

javascript - Vis.js 网络 : how to add a node on click inside the canvas?

javascript - vis.js 层级布局中的层级排序

javascript - 在 JS/React 中,如何将数组属性存储到新数组中以显示新数组值?

javascript - 在 HTML5 应用程序中使用 IFRAME

javascript - 如何更改 vis.js 中的导航按钮颜色

javascript - 在 Vis.js 中设置缩放级别

物理禁用时的 vis.js 节点放置