是否可以给边缘固定长度?即使我设定了各个边缘的长度,物理引擎也会改变它。
我正在尝试可视化3个集群,每个集群有几百个节点。可以选择将群集聚合到几个节点中。我希望将这些聚合节点与真正的短边连接起来,并为这些节点提供高质量,这样它们就会像其拥有数百个节点时那样排斥其他集群。
答案 0 :(得分:1)
无法设定固定长度。您可以使用默认的springLength
和springConstant
进行游戏,查看有关物理的文档:
答案 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”之类的内容。