根据当前数据,d3.js中是否可以追加或插入新元素?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();
}
随后为这一个子集添加圆圈并插入另一个子集。虽然这个工作,我想知道是否有一个更直接的方式来实现这一点。
感谢
马丁
伟大的,感谢斯科特的答案和链接。正如迈克本人在讨论中所说的那样,“预过滤是要走的路”,不需要进一步思考它,我认为......再次感谢 – dorjeduck