2016-11-10 86 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