重绘d3力布局而不移动节点
问题描述:
我目前正在使用d3进行有趣的交互式导航,其中每个节点都是我网站上的一个位置。希望在调整窗口大小或用户拖拽节点时,用户可以很开心地看到导航的交互。重绘d3力布局而不移动节点
问题是,点击一个节点后,我想改变节点以指出哪个节点当前处于“活动”状态。然而,每当我调用强制布局上的绘图来激发修改时,强制布局会“摆动”并重新计算所有节点的位置。有没有简单的方法来改变节点而不改变他们的位置或重新计算他们的位置?
答
我解决了下面的代码段类似的问题:
if (force.alpha() == 0) {
force.start();
force.stop();
}
反对它完成之前停止图形布局的if
声明警卫。在将新样式和属性应用于节点后,您可以调用它。
回答了这里:http://stackoverflow.com/questions/10392505/fix-node-position-in-force-directed-layout?rq=1 –