1

对于如何使用Vis.js仅显示稳定图的最终结果,没有任何稳定动画或交互可能性,我有点挣扎。

有没有人可以将我推向正确的方向?

如果我完全禁用物理,该图会显示所有节点一个自然地覆盖另一个。

已经谢谢你了!


编辑

这是我的选项代码:

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 提示也没关系,我将自己将其映射到包装器实现。

4

1 回答 1

0

stabilize通过将选项设置为true ,似乎默认情况下禁用了动画。

如果您仍然看到动画,请尝试增加该iterations选项,默认设置为1000.

options.setStabilizationIterations(2000);

我使用最新版本的 Vis.js (4.19)创建了一个简单的演示。请记住,VisJs-Addon使用旧版本的 Vis.js (3.11)。

于 2017-04-28T13:28:55.193 回答