javascript - 缩放jqplot后获取 Canvas 中的数据点列表

标签 javascript jquery graph jqplot

如果有人能帮我解决这个问题,我将不胜感激。我们正在使用 Jqplot 绘制一些统计数据和缩放功能。

具体来说我们要用到

中的例子

http://www.jqplot.com/deploy/dist/examples/zoom1.html

http://www.jqplot.com/deploy/dist/examples/zoomOptions.html

我们需要做的一件事是重新计算我们在页面上显示的一些值,例如放大后图表中可见点的标准偏差、平均值等。 为此,我们需要获取放大后图表上存在(保留)的数据点列表。因此理想情况下,我们正在寻找一种返回 放大后图表中可见当前数据集。

我查了API文档,好像没有这样的方法。所以我真的很感激,如果有人帮助如何 我应该继续这个。

谢谢....阿米特

最佳答案

好的,在深入研究代码之后,确实没有任何简单的方法来获取这些数据,但是,有一个方法。

在下面的解决方案中,我有一个 zoomChart jqPLot obj,它充当我的主 jqPLot 的缩放代理,称为 chart。据推测,如果您没有代理,只要您绑定(bind)到正确的对象,这应该也能正常工作。

我正在做的是将自定义函数绑定(bind)到“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", ...

您应该使用您为情节指定的任何变量名称。 希望这对您有所帮助!

关于javascript - 缩放jqplot后获取 Canvas 中的数据点列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16732335/

相关文章:

algorithm - 附加偏序的旅行商问题

python - 用户输入的输出字典不正确

javascript - 单击按钮时将 Razor 变量作为函数参数发送

javascript - 如何使用 jQuery 替换 div 的 innerHTML?

javascript - jQuery deferred.notify 不工作

jquery - $.each() 与嵌套数组

java - 使用 graphml 和 jung 加载自定义节点和边

javascript - 如何使用 jQuery 检查切换隐藏状态

javascript - 单击一个 div 隐藏 div 并替换另一个

javascript - 给定网页上有多个页面的表格,如何从 Chrome 访问所有页面的数据?