所以我有两组数据,我们称之为A和B,然后是一个画布X
首先我这样做:
var selection=canvas.selectAll("circle")
.data(A)
selection.enter().append("circle")
selection
.attr(...)
.attr(...)
所以这就是我想要的,并制作了我的第一组圈子。但后来我想根据数据B制作第二组具有不同属性的圆圈,所以我尝试了以下操作:
var selection2 = canvas.selectAll("circle")
selection2.enter().append("circle").data(B)
selection2
.attr(...)
.attr(...)
然而,这似乎不起作用,而选择2会干扰选择一。我如何让它工作?
答案 0 :(得分:0)
只需将它们添加为具有不同选择器的元素......例如
var selection2 = canvas.selectAll(".circleb")
selection2.enter().append("circle").data(B)
selection2
.classed(".circleb")
.attr(...)
.attr(...)
使用您当前的方法,您将选择所有 circle 元素(当前绑定到数据集A),并尝试将它们重新绑定到数据集B.使用不同的选择器(根据我的例如,您创建了绑定到数据集B的第二组元素,将原始元素绑定到数据集A。
编辑以修复夜间blooper(正如评论中所指出的)