2016-06-09 235 views
1

我试图将一些图形可视化。不幸的是我经常收到的情况,当一个节点彼此重叠,如下图所示: 使节点间距在vis.js中动态变化

设置nodeSpacing选项不适合我,因为一些节点标签非常长,有的短。有没有设置动态定位的选项?这里是我的选择:

var options = { 
     layout:{ 
      hierarchical: { 
       enabled:true, 
       parentCentralization: true, 
       direction: 'DU', 
       sortMethod: 'directed' 
       } 
     }, 
     edges:{ 
      arrows: 'from' 
     } 
} 
+0

玩弄:http://visjs.org/examples/network/physics/physicsConfiguration.html,然后使用'生成的配置' –

+0

您也可以使用方向LR而不是DU来避免标签重叠。 –

回答

2

Physics options有用于hierarchicalRepulsion一个选项,你可以玩 - 这一切取决于你的图形,我猜。我把他们的基本例如分层布局,并添加很长的标签名称和使用此配置:

physics: { 
    enabled: true, 
    hierarchicalRepulsion: { 
     centralGravity: 0.0, 
     springLength: 500, 
     springConstant: 0.01, 
     nodeDistance: 400, 
     damping: 0.09 
    }, 
    solver: 'hierarchicalRepulsion' 
} 

我大的价值观起到周围springLengthnodeDistance,这是诸如此类的事情,你可以拿回:

enter image description here

在位已缩放更多,所以你可以看到字幕:

enter image description here

虽然层次结构还是有一些重叠,但它给了你一个起点。

另外,考虑真正长字幕的可用性 - 在某些时候,您可能想要开始使用工具提示和其他解决方法。再一次 - 全部取决于您的网络。

祝你好运 - 这是一个很棒的图书馆!