微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 缩放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的缩放代理,称为图表.据推测,如果你没有代理,只要你绑定到正确的对象,这应该也可以.

我正在做的是将自定义函数绑定到’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是图表格式的所有原始数据.

请注意,我使用图表是因为我最初创建了var chart = $.jqplot(“chartDiv”,…

您应该使用您给出的任何变量名称.希望这可以帮助!

原文地址:https://www.jb51.cc/js/156717.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐