5

我想用.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)");

但我想选择,例如,只选择<rect>与 5 到 7 之间的数字相对应的 s。或者至少<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]

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

4

1 回答 1

3

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

var specificRect = myselection.selectAll("rect").data(dataset)
.filter(function(d) { return (d >= 5 && d <= 9) })
于 2013-07-26T14:36:44.417 回答