Javascript 使用复选框筛选数据-D3
我很难使用d3图中的复选框进行过滤。这里我有五个复选框,我必须根据复选框的值过滤特定的数据 HTML 如果我必须过滤数据,这取决于数据,我可以这样做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(
.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"
})