我使用一些数据按时间绘制圆圈,更新过程很好,但退出不起作用,这是我的部分代码:
function update(data) {
var tmp1 = group.selectAll('.circle').data(data)
tmp1.enter().append('circle')
.attr('cx', function(d) {coords = projection([d.long,d.lat]); return coords[0]})
.attr('cy', function(d) {coords = projection([d.long,d.lat]); return coords[1]})
.attr('r', function(d) { return countScale(d.count)})
.attr("stroke", function(d, i) { return color(d.name, i);})
.attr("stroke-width", 2.3)
.style('fill', function(d) {
if (d.count == 0){ return 'white';}
if (d.count !== 0){ return color(d.name);}
});
tmp1.exit().remove();
}
之后我使用 setInterval 更新我的数据,但退出不起作用,前一个循环仍然退出。
setInterval(function() { update(nextDay(data)) }, 10);