重绘d3力布局而不移动节点

问题描述:

我目前正在使用d3进行有趣的交互式导航,其中每个节点都是我网站上的一个位置。希望在调整窗口大小或用户拖拽节点时,用户可以很开心地看到导航的交互。重绘d3力布局而不移动节点

问题是,点击一个节点后,我想改变节点以指出哪个节点当前处于“活动”状态。然而,每当我调用强制布局上的绘图来激发修改时,强制布局会“摆动”并重新计算所有节点的位置。有没有简单的方法来改变节点而不改变他们的位置或重新计算他​​们的位置?

+0

回答了这里:http://stackoverflow.com/questions/10392505/fix-node-position-in-force-directed-layout?rq=1 –

我解决了下面的代码段类似的问题:

if (force.alpha() == 0) { 
    force.start(); 
    force.stop(); 
} 

反对它完成之前停止图形布局的if声明警卫。在将新样式和属性应用于节点后,您可以调用它。