Javascript 使用复选框筛选数据-D3

Javascript 使用复选框筛选数据-D3,javascript,jquery,filter,d3.js,scatter-plot,Javascript,Jquery,Filter,D3.js,Scatter Plot,我很难使用d3图中的复选框进行过滤。这里我有五个复选框,我必须根据复选框的值过滤特定的数据 HTML 如果我必须过滤数据,这取决于数据,我可以这样做 .filter(function(d) { return d.x < 100; }); 但是它不起作用。。请帮我解答…请参见此处,以获取非常类似的问题和答案: 我认为你应该先把散点图中的圆圈附加到一个“点”类中。像这样: svg.selectAll(".dot") .data(data) .enter().append(

我很难使用d3图中的复选框进行过滤。这里我有五个复选框,我必须根据复选框的值过滤特定的数据

HTML

如果我必须过滤数据,这取决于数据,我可以这样做

.filter(function(d) {
    return d.x < 100;
  });

但是它不起作用。。请帮我解答…

请参见此处,以获取非常类似的问题和答案:

我认为你应该先把散点图中的圆圈附加到一个“点”类中。像这样:

svg.selectAll(".dot")
  .data(data)
  .enter().append("circle")...
例如,请参见此处:

然后,假设您的数据有某个属性“名称”供您尝试筛选,请执行以下操作:

d3.selectAll(".input class id").on("change", function () {
  var selected = this.name, 
  display = this.checked ? "inline" : "none";

  svg.selectAll(".dot")
    .filter(function(d) { return d.name == selected; })
    .attr("display", display);
});

对于序列的名称,可以使用与数值相同的方法。比如说,

.filter(function(d) {
    return d.series == "name"
})

我现在用这个方法。。不知道是什么问题。。请检查已编辑的问题。。。
svg.selectAll(".dot")
  .data(data)
  .enter().append("circle")...
d3.selectAll(".input class id").on("change", function () {
  var selected = this.name, 
  display = this.checked ? "inline" : "none";

  svg.selectAll(".dot")
    .filter(function(d) { return d.name == selected; })
    .attr("display", display);
});
.filter(function(d) {
    return d.series == "name"
})