如何在force.start上停止力导向图的移动

Mad*_*vda 5 d3.js force-layout

我使用强制有向图来显示图形视图上的拓扑数据.我写了下面的代码:

var force = d3.layout.force()
        .charge(-120)
        .alpha(0)
        .linkDistance(65)
        .gravity(0.03)
        .size([width, height]);

force
      .nodes(data.nodes)
      .links(data.links)
      .start();
Run Code Online (Sandbox Code Playgroud)

当我执行代码图初始化时,我需要停止一些运动.我希望静态位置上的图形显示没有任何移动,并且所有链接大小在图形初始化时应该相同.如果我会拖动它然后它会移动.任何帮助将非常感激....!

Bio*_*ize 10

以下是静态力导向布局初始化的示例.

"我们不是每次勾选更新图表,而是按固定次数运行图表,然后再显示一次."

force.start();
for (var i = n * n; i > 0; --i) force.tick();
force.stop();
Run Code Online (Sandbox Code Playgroud)

这并不妨碍您以通常的方式设置可拖动节点:

.call(force.drag);
Run Code Online (Sandbox Code Playgroud)

您可以通过控制linkStrength帮助链接达到您想要的大小

  • “n”是节点数,请在此处查看完整代码。http://bl.ocks.org/mbostock/1667139 (2认同)