2012-01-10 75 views
0

我有一个要求使用x轴选择绘制具有缩放功能的图形,我使用Flot绘制图形。我必须显示缩放后出现的点数。 我很高兴得到的总长度不是缩放的长度。浮点图数据点的数量

好心帮

+0

您的意思是'Plot'与'Plot Graph Number of Data points'一样吗? – 2012-01-10 06:44:03

+0

flot不会更改数据集,因此如果您想知道可见点,则必须自己计算。 – Ryley 2012-01-10 16:46:30

回答

2

在你的“plotzoom”回调,可以分&最大的x/y坐标回来,像这样(从网站上的例子):

placeholder.bind('plotzoom', function (event, plot) { 
    var axes = plot.getAxes(); 
    $(".message").html("Zooming to x: " + axes.xaxis.min.toFixed(2) 
         + " – " + axes.xaxis.max.toFixed(2) 
         + " and y: " + axes.yaxis.min.toFixed(2) 
         + " – " + axes.yaxis.max.toFixed(2)); 
}); 

你可以用这些来计算这个矩形内有多少个点。

我可以建议使用underscore.js过滤器函数来简化它吗?

例如,

var xmin = axes.xaxis.min.toFixed(2); 
var xmax = axes.xaxis.max.toFixed(2); 
var ymin = axes.yaxis.min.toFixed(2); 
var ymax = axes.yaxis.max.toFixed(2); 

var points = [{x: 1, y:20} ..some points.. {x: 30, y: -23}]; 

var shownpoints = _.filter(points, function(point){ 
    return point.x > xmin && 
      point.x < xmax && 
      point.y > ymin && 
      point.y < ymax; 
    } 
); 

这会给具有x &ý格言之间在点阵列。然后你可以用长度来计数!

+0

如何获取点数组?我传递数据为{“label”:“Label 1”,“data”:[[x,y],[x,y] ......] – paramupk 2012-02-03 06:17:13

+0

plot.getData()会给出数据感谢很多minikomi – paramupk 2012-02-03 08:29:16