d3力量布局的“结束时间”事件

时间:2015-06-02 18:23:57

标签: javascript d3.js

我正在使用d3的力布局,并试图找到一种简单的方法来识别布局何时达到稳定状态(即当滴答功能停止操纵节点的位置时)。

我对力的定义看起来像这样......

var force = d3.layout.force()
        .friction(frictionValue) 
        .theta(thetaValue)
        //.alpha(0.1) 
        .size([width, height])
        .gravity(gravityValue) 
        .charge(chargeValue) 
        .on("tick", tick); 

然后滴答功能开始......

function tick(e) {
...

我认为“e”对于捕捉模拟的终点是关键,但是因为我没有明确地将e传递给我的力定义上的tick函数,所以我不确定它代表什么或如何我或许可以用它来识别模拟的结束。任何人都可以阐明e的功能(因为我没有明确地传递它的值),或甚至建议一个更好的方法来做一些简单的事情,一旦强制布局模拟显示“警报(..)”消息已经结束了?

提前感谢任何帮助!

1 个答案:

答案 0 :(得分:7)

你几乎是正确的,只是勾选是错误的事件,你想要结束。所以将你的最后一行改为

.on("end", function (){
    // some code
});

您可以在强制布局https://github.com/mbostock/d3/wiki/Force-Layout

的API文档中阅读相关内容
相关问题