12

我正在使用 vis.js 显示节点,并非所有节点都相互连接,但它们如图所示重叠,有没有办法避免这种情况,我通过配置选项但无法寻找。

在此处输入图像描述

4

4 回答 4

9

在 BarnesHut http://visjs.org/docs/network/physics.html?#

您可以在底部的物理http://visjs.org/examples/network/other/configuration.html下尝试它

就像将此属性添加到您的物理选项中

var options = {
 ... "physics": {
    "barnesHut": {
      "avoidOverlap": 1
    },
  }
}
于 2016-05-23T09:42:04.393 回答
4

我设法通过使用以下configure选项使其工作:

configure: {
        enabled: true,
        showButton: true
}

这向您展示了一个配置所有选项的模式,直到图表看起来不错。

在我使用分层视图的情况下,我必须禁用物理并像这样设置布局:

layout: {
  hierarchical: {
    enabled: true,
    nodeSpacing: 425,
    blockShifting: false,
    edgeMinimization: false,
    sortMethod: "directed"
  }
}
于 2017-02-23T14:51:51.840 回答
2

我建议对物理和布局使用手动配置:

configure: {
  enabled: true,
  filter: 'physics, layout',
  showButton: true
}

并尝试使用 nodeDistancenodeSpacing

于 2017-08-14T14:04:45.173 回答
0

我对此尝试了很多选项并发现它实际上取决于物理配置:如果您的物理配置是这样的

物理:false,那么你可以只使用这个布局:{分层:{levelSeparation:150,treeSpacing:200,blockShifting:true,edgeMinimization:true,parentCentralization:true,direction:'UD',nodeSpacing:300,sortMethod:“directed " // 定向, 集线器 } },

其中 nodeSpacing 是您的关键,而 sord 方法将为您定义结构 这构成了这样的网络: 在此处输入图像描述

否则使用手动配置:

配置:{启用:真,过滤器:'物理,布局',显示按钮:真}

于 2020-03-26T21:22:32.220 回答