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

时间:2014-12-02 00:19:45

标签: javascript d3.js

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

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

在d3中有一种简单的方法吗?

谢谢

1 个答案:

答案 0 :(得分:1)

这只是简单的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]]