2016-08-01 95 views
2

作爲了解d3如何工作的一個練習,我一直在從頭開始構建,從我找到的各種示例中拼湊出來。d3 v4 forceSimulation節點在重新啓動後不再移動()

我似乎無法得到底部的問題是,節點不能再被拖動或甚至在數據刷新後移動。行刷新,而不是節點。如果在再次提交表單之前拖動一些節點,效果會更加明顯。下面

例子顯示了問題,我已經註釋掉了我是用本地的WebSocket代碼,取而代之的是一些靜態的數據

你需要查看全屏:

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

任何幫助表示讚賞

編輯補充:

所以我現在臨時解決方案是在更新之前從SVG中刪除所有節點,但這並不理想。

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

回答

2

合併更新後,您不會將合併的結果分配回您的節點和鏈接。

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

完美,解決了它,謝謝。 – d4rr3ll