D3.js:如何从图形的刷区域中选择数据?

Cur*_*ero 3 javascript d3.js

我有以下图表,其中鼠标刷(浅蓝色区域)用于选择数据. 在此输入图像描述

如何从所选区域获取数据?我尝试过以下和许多其他解决方案似乎不起作用.

brush.on('brush', function(d){  
    console.log(d);
});
Run Code Online (Sandbox Code Playgroud)

请参阅JSFIDDLE

Cyr*_*ian 5

您可以使用以下方式获取画笔选定的y轴范围:

brush.on('brush', function(d){  
    k = brush.extent();
    console.log(k);
});
Run Code Online (Sandbox Code Playgroud)

要在所选画笔区域中获取数据,请执行以下操作:

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
Run Code Online (Sandbox Code Playgroud)

在这里工作代码

希望这可以帮助!