如何避免网络图节点重叠?

Vol*_*man 8 vis.js vis.js-network

我正在使用 Visjs 并用文本显示矩形节点。一些节点可以有几行文本,所以我添加了一个启发式算法来粗略地计算出换行符应该去的位置,以避免在非常宽但非常短的节点中出现非常宽的单行文本块。

问题是,即使打开了物理,我仍然会得到重叠的节点。

是否可以告诉布局引擎,在任何情况下(或物理模型),任何两个节点都不应重叠?

Yak*_*ovL 6

好吧,查看物理配置示例:如您所见,barnesHut求解器具有avoidOverlap即使springConstant等于零也能防止重叠的属性。尝试这个:

var options = {
  "physics": {
    "barnesHut": {
      "springConstant": 0,
      "avoidOverlap": 0.2
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

并调整常量以满足您的需要(上面链接的示例对此很有用)。