![](/img/trans.png)
[英]How can I use D3.js "onClick" event with an nvd3 bar when zoomed in on chart data?
[英]D3.js v5: How can I use filter() to get the data in the selected region of a brushable bar chart
我试图使用 d3 画笔根据所选区域中的数据缩放图表。 但是,当我尝试使用dataselected
接收过滤后的数据时,它在选择完成后返回了一个空数组。 我想知道我对 filter() 或其他任何东西的使用是否有问题。
brushed(selection){
if (selection) {
console.log(this.data); // Not empty
let kw0 = this.xScale.invert(selection[0]);
let kw1 = this.xScale.invert(selection[1]);
this.xScale2 = d3.scaleLinear()
.domain([kw0, kw1])
.range([0, vis.width - vis.margin.right]);
this.dataselected = this.data.filter(function(d){
return (kw0 <= this.xScale(d)) && (this.xScale(d) <= kw1);
});
console.log(dataselected); // Empty array
}
所选条形图:
问题解决了。 使用过滤器没有问题。 我使用 d.x0 和 d.x1 而不是this.xScale(d)
并且它有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.