2016-11-10 56 views
0

當我做這個功能

function d3add() 
{d3.select('svg').selectAll('circle').data(data).enter().append('circle') 
    .attr('id',function(d){return d.id;});}" 

,然後使其用不同的數據重複數次。d3>如何添加新圈子而無需回收以前的圈子?

我發現一些圈子有相同的ID時,他們應該有不同的ID。 我認爲原因是d3的回收圈只有不同的位置。 我需要在每次調用函數時使用不同的id來顯示附加的所有圓。

如何停止回收並將新的圓圈添加到一個svg中?

有沒有「selectAll('circle')」的選項?

回答

0

不確定你的問題到底是什麼,但嘗試提供一個關鍵功能。

.data(data,function(d){return d.id})

如果你提供不同的ID的數據,你應該有圈沒有更多的「循環」。

+0

謝謝。我通過更新數據(積累以前的數據和新數據)和刪除所有以前的圓圈(然後選擇所有圓圈)來解決這個問題。任何方式你好人〜 – Brad