Tag: 图形可视化

D3:显示网络到达布局,然后停止强制

我试图让我的D3网络在达到一个漂亮的布局(alpha达到0)后冻结。 我希望力完全停止,即使拖动节点(用户应该能够手动重新排列节点)。 我想我知道如何通过修改mousedown和mouseup为节点调用的函数来完成第二部分。 但是,我无法获得原始布局和冻结工作。 我查看了“静态”强制布局的示例,其中仅在布局完成后才显示网络。 但是,我希望网络能够在达到稳定布局时显示。 我将此添加到绘制网络的函数的末尾: while (force.alpha() >0.005) { force.tick(); } force.stop(); 通过此添加,网络不会显示,直到它到达force.stop() 。 有没有人知道如何在它“滴答作响”时让它显示出来? 编辑:这是我的tick函数的实现: function tick(e) { console.log(force.alpha()); if (force.alpha() <0.05) { force.stop(); } var h = svgH; if (e.alpha < 0.05) { var q = d3.geom.quadtree(nodes), i = 0, n = nodes.length; while (++i < n) { q.visit(collide(nodes[i], e.alpha)); } […]