d3.js 中是否可以根据当前数据追加或插入新元素?
我把一个例子放在一起来展示我想要实现的目标
http://jsfiddle.net/DorjeDuck/uDBau/
基本上,新的红色圆圈总是绘制在所有蓝色圆圈的顶部,而新的蓝色圆圈总是放在所有红色圆圈的下方。
到目前为止,这是通过过滤数据集(javascript 数组过滤器,而不是 d3 过滤器)来实现的。过滤功能:
var selectNewOnesByColor = function (selection, color) {
return selection.data(data.filter(function (d) {
return d.color === color;
}), function (d) {
return d.id;
})
.enter();
}
随后,为一个子集附加圆圈并为另一个子集插入圆圈。虽然这可行,但我想知道是否有更直接的方法可以实现这一目标。
谢谢
马丁