D3.js力布局:如何在力布局图中停止初始移动?

时间:2015-12-04 12:33:15

标签: javascript d3.js

我正在使用Sticky Force Layout。我可以看到我的初始发痒的代码here。我遵循了具有静态布局的Fisheye distortion code。但我没有得到预期的输出。我的代码是here

1 个答案:

答案 0 :(得分:1)

将冷却参数alpha设置为0或更小:

var force = d3.layout.force()
                .linkDistance(75)
                .alpha(0)
                .size([width, height])
                .on("tick", tick);

并更新tick功能:

function tick() {
 var k = 0;
 while ((force.alpha() > 1e-2) && (k < 150)) {
    force.tick();
    k = k + 1;
 }
 node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });
 }

这应该“冷静下来”。最初的动作很多,但不是100%的静态。