d3:基于特定字段的元素数据分布

时间:2015-03-19 21:40:36

标签: javascript html svg d3.js filter

是否可以"分发"基于一个具有d3的字段的每个元素(比如圆圈)的数据?

所以说我有一个包含以下字段的数据集: "姓名","年龄","来自"。

我想要创建圈子,每个圈子都会包含所有来自" ==" SOMEVALUE"的行。

d3代码如下所示:

d3.selectAll(".circle")
  .data(data)   // <- I want each circle to hold filtered data
  .enter()      // based on field "from".
  .append("circle")
  .filter(....)
如果问题措辞不好,我道歉。 提前谢谢!

1 个答案:

答案 0 :(得分:1)

使用本机数组.filter()在d3绑定之前过滤数据。像这样:

d3.selectAll(".circle")
  .data(data.filter(function(d) {
    return d.from == 'SOMEVALUE'
  })
  .enter()      // based on field "from".
  .append("circle")