代码:http://plnkr.co/edit/DW8QYHb3p1la68KBTPof?p=preview
dropDownDate.on("change", function() {
var selected = this.value;
displayOthers = this.checked ? "inline" : "none";
display = this.checked ? "none" : "inline";
if(selected == 'All'){
svg.selectAll(".datapoint")
.attr("display", display);
}
else{
svg.selectAll(".datapoint")
.filter(function(d) {return selected != d.date;})
.attr("display", displayOthers);
svg.selectAll(".datapoint")
.filter(function(d) {return selected == d.date;})
.attr("display", display);
}
});
dropDownInd.on("change", function() {
var selected = this.value;
displayOthers = this.checked ? "inline" : "none";
display = this.checked ? "none" : "inline";
if(selected == 'All'){
svg.selectAll(".datapoint")
.attr("display", display);
}
else{
svg.selectAll(".datapoint")
.filter(function(d) {return selected != d.industry;})
.attr("display", displayOthers);
svg.selectAll(".datapoint")
.filter(function(d) {return selected == d.industry;})
.attr("display", display);
}
});
我喜欢做两件事:
1)制作过滤/下拉列表效果堆栈,截至目前,我说使用第一个过滤器日期,然后使用第二个过滤器行业,第二个过滤器的效果将覆盖第一个过滤器
2)如何处理相同的数据点。如果您引用 orderInfo.json 中的前2个对象,则它们具有相同的音量和日期,因此您只能看到该值的1个圆圈。尽管具有相同的位置,但区分彼此的最佳方法是什么?
对于x轴,它现在可能看起来很奇怪,因为我只添加数据2天。