D3.js让节点出现在中间没有"反弹"

jwh*_*ing 1 javascript d3.js force-layout

我使用"节点"和"线"进行D3设置.当图形首次出现时,它会随着重力反弹直到它在中间稳定下来.有没有人知道如何让它自动出现在中间没有"反弹"的效果?

PS我正在使用强制布局

mbo*_*ock 5

调用start重置冷却参数alpha; 当布局收敛于其解决方案时,alpha会以指数方式衰减,然后停止以避免浪费cpu.启动时没有抖动(重合节点除外,这是避免除以零所必需的).但是,任何时候你都有冲突的力和几何约束(链接),在开始时期望布局调整是很自然的.

如果你想避免这种反弹,你需要保持图形永久热(例如通过调用d3.timer(function() { force.resume(); }))或者你需要做其他事情,比如手动调整alpha参数以逐渐而不是瞬间再加热.

编辑:在2.8.x中,您可以通过在启动时同步运行强制布局来完全避免第一次反弹.例如:http://bl.ocks.org/1667139