我在如何使用 vis.js 方面有点挣扎Graph ,没有任何稳定动画或相互作用的可能性。
有人可以将我推向正确的方向吗?
如果我完全禁用物理学,则图显示了一个自然覆盖另一个节点的所有节点。
已经谢谢你!
编辑
这是我对选项的代码:
Stabilization stabilization = new Stabilization();
stabilization.setFit(true);
BarnesHut barnesHut = new BarnesHut();
barnesHut.setGravitationalConstant(-23000);
barnesHut.setCentralGravity(0);
barnesHut.setSpringLength(0);
barnesHut.setSpringConstant(0.5f);
barnesHut.setDamping(1);
barnesHut.setAvoidOverlap(1);
Physics physics = new Physics();
physics.setEnabled(true);
physics.setBarnesHut(barnesHut);
physics.setSolver(Physics.Solver.barnesHut);
Smooth smooth = new Smooth();
smooth.setEnabled(false);
smooth.setType(Smooth.Type.continuous);
smooth.setRoundness(0);
Edges edges = new Edges();
edges.setSmooth(smooth);
Interaction interaction = new Interaction();
interaction.setDragNodes(false);
Options options = new Options();
options.setPhysics(physics);
options.setEdges(edges);
options.setInteraction(interaction);
请注意,该代码用于Vis.js周围的包装器,尽管选项应反映VIS.JS选项。
因此,如果答案不包含任何Java代码,而是实际的VIS.js提示,则可以将其映射到包装器实现。
似乎通过将stabilize
选项设置为true来默认情况下被禁用。
如果您仍然看到动画,请尝试增加iterations
选项,该选项默认设置为1000
。
options.setStabilizationIterations(2000);
我使用了最新版本的Vis.js(4.19(创建了一个简单的演示。请记住,Visjs-Addon使用Vis.js(3.11(的较旧的时期。