vis.js固定长度边

时间:2015-12-02 23:03:55

标签: visualization vis.js

是否可以给边缘固定长度?即使我设定了各个边缘的长度,物理引擎也会改变它。

我正在尝试可视化3个集群,每个集群有几百个节点。可以选择将群集聚合到几个节点中。我希望将这些聚合节点与真正的短边连接起来,并为这些节点提供高质量,这样它们就会像其拥有数百个节点时那样排斥其他集群。

2 个答案:

答案 0 :(得分:1)

无法设定固定长度。您可以使用默认的springLengthspringConstant进行游戏,查看有关物理的文档:

http://visjs.org/docs/network/physics.html

答案 1 :(得分:0)

现在看来这个问题的答案是肯定的! network/edges visjs.org docs描述了“长度”选项:

  

“物理模拟给边缘一个弹簧长度。这个值可以   覆盖静止时弹簧的长度。“

所以当你设置你的边缘时,你可能会做这样的事情来做一个额外的长边:

myEdges.push({from:'nodeid1', to:'nodeid2', length:300});

我认为默认长度约为95,所以300的长度约为正常值的三倍。

如果您想更改默认边长(不包括您在边缘上明确设置的任何边长),那么这就是网络的'springLength',因此在建立网络时传递一个选项:

var network = new vis.Network(container, data,
  {"physics": {"barnesHut": {"springLength":100, "springConstant": 0.04}}}
);

物理引擎可能会限制事物并隐藏您想要查看的更改,因此您可能还需要调整“springConstant”之类的内容。