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



我想选择具有.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]

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

解决方案是使用".filter".

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

最新更新