D3:无法选择我的数据集的子集

时间:2013-07-24 11:09:15

标签: d3.js

我想选择.select().selectAll()的数据子集。

例如,我有一个数据集:

var dataset = [4,5,6,7,9,56]

此数据集的每个数字都绑定到SVG <rect>

svg.selectAll("rect")
  .data(dataset)
  .enter()
  .append("rect");

现在我想只选择一部分数据来应用一些东西(在我的情况下用黄色着色)。

这适用于着色每个 <rect>

var allRect = myselection.selectAll("rect")
  .attr("fill","rgb(255, 255, 0)");

但我想选择,例如,只选择对应于5到7之间的数字的<rect>。或者至少选择与我的数据集中特定数字相对应的<rect>

我试过了:

var specificRect = myselection.selectAll("rect")[5:9]

var specificRect = myselection.selectAll("rect")[5]

var specificRect = myselection.selectAll("rect")[2,3,4]

var specificRect = myselection.selectAll("rect").data(dataset)[1]

这些都不起作用。谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

解决方案是使用“.filter”。

var specificRect = myselection.selectAll("rect").data(dataset)
.filter(function(d) { return (d >= 5 && d <= 9) })