d3 v4 forceSimulation节点在重启后不再移动()

时间:2016-08-01 19:14:38

标签: d3.js d3.js-v4

作为了解d3如何运作的练习,我已经从头开始构建这些内容,并通过我发现的各种示例拼凑而成。

我似乎无法解决的问题是,数据刷新后无法再拖动节点甚至移动节点。线条刷新,而不是节点。如果在再次提交表单之前拖动一些节点,效果会更明显。

下面的示例演示了这个问题,我已经注释掉了我在本地使用的WebSocket代码并替换为一些静态数据

您需要全屏查看:

http://bl.ocks.org/d4rr3ll/68713a42d59f5bb086ad25d5a0bcbad1

任何帮助表示赞赏

编辑添加:

所以我现在的临时解决方案是在更新之前删除SVG中的所有节点,但这并不理想。

function update_graph(data) {
    svg.selectAll(".node").remove();
    ...

1 个答案:

答案 0 :(得分:2)

合并更新后,您不会将合并的结果分配回您的节点和链接。

link = link.merge(line)
node = node.merge(circle)