如何在 d3 中查找给定范围内的数据点数

How to find number of data points in a given range in d3

本文关键字:范围内 数据 d3 查找      更新时间:2023-09-26

我正在尝试查找我的系列中位于给定范围内的数据点数量 (xMin,yMin)(xMax, yMax) .举个例子,如果我的系列线图看起来像(1,1) (2,2) (4,4) (6,7) (9,10)并且我的范围是从 (3,3)(8,8) ,那么 2 个点满足我正在寻找的标准,它们是 => (4,4) (6,7)

(我试图解决的实际问题是,如果我有一个矩形可以缩放序列图,那么如果缩放的矩形至少从原始系列中捕获 N 个数据点,则允许缩放)

有没有一种简单的方法可以在 d3 中做到这一点?

谢谢

这在javascript中相当简单:

var data = [[1,1],[2,2],[4,4],[6,7],[9,10]];
function filterData(minArr, maxArr) {
  return data.filter(function(d) {
    return d[0] >= minArr[0] &&
           d[0] <= maxArr[0] &&
           d[1] >= minArr[1] &&
           d[1] <= maxArr[1];
  });
}
console.log(filterData([3,3], [8,8]))  //[[4,4],[6,7]]