好的,所以在大量挖掘代码之后,实际上并没有任何简单的方法来获取这些数据,但是,有一种方法。
在下面的解决方案中,我有一个zoomChart jqPLot obj,它充当我的主 jqPLot 的缩放代理,称为chart。据推测,如果您没有代理,只要您绑定到正确的对象,它应该也可以正常工作。
我正在做的是将自定义函数绑定到“jqplotZoom”事件,该事件在缩放操作完成后调用。
zoomChart.target.bind('jqplotZoom', function(ev, gridpos, datapos, plot, cursor){
var plotData = plot.series[0].data;
for (var i=0; i< plotData.length; i++) {
if(plotData[i][0] >= chart.axes.xaxis.min && plotData[i][0] <= chart.axes.xaxis.max ) {
//this dataset from the original is within the zoomed region
//You can save these datapoints in a new array
//This new array will contain your zoom dataset
//for ex: zoomDataset.push(plotData[i]);
}
}
});
这有意义吗?本质上,chart.axes.xaxis
包含缩放区域的边界,并且plot.series[N].data
是图表格式中的所有原始数据。
请注意,我使用的chart
是因为我最初创建var chart = $.jqplot("chartDiv", ...
您应该使用您为绘图提供的任何变量名称。希望这可以帮助!