【问题标题】:Stop Vis.js network spinning停止 Vis.js 网络旋转
【发布时间】:2019-06-20 09:37:32
【问题描述】:

我有一个可以有 0 个或多个基本节点的网络,其中有 0 个或多个节点相互连接。问题是,当我有连接到侧面的节点时,这似乎会导致该方向的速度,进而导致网络旋转。

我怎样才能停止这种旋转?并不是因为网络渲染节点的方式问题,而是向对方添加节点那么简单。

下面的 Gif 显示了悬挂在导致旋转的两侧的节点(忽略红色节点,它们与问题无关)。网络将向这些相反的方向旋转节点。

Vis.js 选项:

var options = {
interaction: {
  hover: true
},
physics: {
    forceAtlas2Based: {
      gravitationalConstant: -50,
      springLength: 100,
      avoidOverlap: 1,
      damping: 1
    },
    minVelocity: 0.75,
    solver: 'forceAtlas2Based'
}

【问题讨论】:

  • 网络可视化为什么需要重力模拟?
  • @Andrey 您指的是选项中的“引力常数”吗?如果是这样,则需要将节点拉得更近(或将它们推开)。当我删除它时,问题仍然存在
  • 我的意思是我不理解物理学在这么简单的事情上的用法。无论如何,你有没有尝试过物理中的stabilization 选项?
  • @Andrey 节点在用户查看网络期间的任何时候动态添加和删除。当启用物理并且发生这种情况时,不会说谎 - 它看起来很酷:) 我已经尝试过稳定化,不幸的是我对这些选项所做的任何更改都无济于事。 network.stabilize() 也无法解决旋转问题,因为它不会重绘节点(例如在另一侧)。也许是我正在使用的求解器

标签: javascript vis.js vis.js-network


【解决方案1】:

试试damping > 1

我知道文档说可接受的阻尼范围是 0..1,但我绝望地尝试任何东西。

我最终使用了 2.5,但你可以更高。

【讨论】:

    【解决方案2】:

    网络加载后,您可以将 setoption 物理设置为 false。

    network.setOptions( { 物理: false } );

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多