谁能解释为什么 selectAll + data + enter + append 最初可以正常工作,但是当我再次调用它时它只附加一个元素?
http://jsfiddle.net/scottieb/wQJen/
当我跑
vis.selectAll("circle")
.data(datafiltered).enter().append("svg:circle")
.attr("cx", function(d) { return x(d.x)})
.attr("cy", function(d) { return y(d.y)})
.attr("fill", "red").attr("r", 15);
我得到四分(对应于'datafiltered'中的四对数据)。但是在按钮单击时,我运行
vis.selectAll("circle")
.data(datafiltered2)
.enter().append("svg:circle")
.attr("cx", function(d) {
return x(d.x)
}).attr("cy", function(d) {
return y(d.y)
}).attr("fill", "black").attr("r", 5);
并且只添加“datafiltered2”的最后一个元素(这一对中的五对)。所以,数据是不同的,第二个发生在按钮单击时,但不知道为什么我只添加了一个点!