一个画布,两组数据

时间:2012-11-01 23:42:18

标签: javascript canvas d3.js

所以我有两组数据,我们称之为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会干扰选择一。我如何让它工作?

1 个答案:

答案 0 :(得分:0)

只需将它们添加为具有不同选择器的元素......例如

var selection2 = canvas.selectAll(".circleb")
selection2.enter().append("circle").data(B)
selection2
  .classed(".circleb")
  .attr(...)
  .attr(...)

使用您当前的方法,您将选择所有 circle 元素(当前绑定到数据集A),并尝试将它们重新绑定到数据集B.使用不同的选择器(根据我的例如,您创建了绑定到数据集B的第二组元素,将原始元素绑定到数据集A。

编辑以修复夜间blooper(正如评论中所指出的)