jquery – 带有动态ajax数据的JQPlot自动刷新图表

前端之家收集整理的这篇文章主要介绍了jquery – 带有动态ajax数据的JQPlot自动刷新图表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想按时间间隔顺序更新jqPlot绘制的图表.

我的用例是这样的,AJAX调用只返回一个值.例如:

1st AJAX call: 20
2nd AJAX call: 30
3rd AJAX call: 40
4th AJAX call: 32

所以我想把图形绘制成:

First: only 20
Second: 20,30
Third: 20,30,40
Fourth: 20,40,32

我们可以在JQPlot中提取已绘制的数据,然后附加这个新数据集并重绘图形吗?

任何人都可以帮忙吗?

解决方法

您需要将数据存储在一个数组中,然后在每个ajax调用中将新数据推送到该数组.

这是一个简单的演示,使用按钮以3秒的间隔启动AJAX更新:

/* store empty array or array of original data to plot on page load */

var storedData = [3,7];

/* initialize plot*/

var plot1;
renderGraph();

$('button').click( function(){
    doUpdate();
    $(this).hide();
});

function renderGraph() {
    if (plot1) {
        plot1.destroy();
    }
    plot1 = $.jqplot('chart1',[storedData]);
}
/* sample data for demo*/   
var newData = [9,1,4,6,8,2,5];


function doUpdate() {
    if (newData.length) {
        /* used to pull new number from sample data for demo*/
        var val = newData.shift();

        $.post('/echo/html/',{
            html: val
        },function(response) {
            var newVal = new Number(response); /* update storedData array*/
            storedData.push(newVal);
            renderGraph();               
            setTimeout(doUpdate,3000)
        })

    } else {
        alert("All Done")
    }
}

演示:http://jsfiddle.net/ZqCXP/

原文链接:https://www.f2er.com/jquery/177567.html

猜你在找的jQuery相关文章