我有以下图表,其中使用鼠标刷(浅蓝色区域)选择数据。
如何获取所选区域的数据?
我尝试了以下和许多其他解决方案,但似乎都不起作用。
请查看JSFIDDLE。
![enter image description here](https://istack.dev59.com/mmtdw.webp)
brush.on('brush', function(d){
console.log(d);
});
请查看JSFIDDLE。
brush.on('brush', function(d){
console.log(d);
});
您可以使用以下代码获取画笔所选的y轴范围:
brush.on('brush', function(d){
k = brush.extent();
console.log(k);
});
要获取所选刷区域内的数据,请执行以下操作:
k = brush.extent();
j = data.filter(function(d){
return k[0] <= d.date && k[1] >=d.date;
});
console.log(j)//this is the selected dataset
这里有可运行的代码,请点击此处
希望这能对您有所帮助!
对于 d3v4
,您可以使用以下方式:
var selection = d3.event.selection;
var e = selection.map(x.invert, x); // return [start,end] for axis