在已经渲染的jquery flot图上绘制一个新系列

k-g*_*g-f 5 jquery flot

我有一个浮动图,它已经渲染了一个数据系列,即

var plot = $.plot($('#placeholder'), [data1], options);
Run Code Online (Sandbox Code Playgroud)

稍后,我将收到一些我想在同一图表上绘制的新数据,作为单独的数据系列.有没有办法可以将这个新数据系列添加到现有图形中,而不必再次构建整个图形?也就是说,我想避免像这样打另一个电话:

var plot = $.plot($('#placeholder'), [data1, data2], options);
Run Code Online (Sandbox Code Playgroud)

而是像这样打个电话:

plot.addSeries([data2], option);
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 1

创建一个 ajax 调用,提取您的信息并将其发送到能够通过重置图形信息来处理多个图形的方法。首先,获取保存图表的元素并将其存储在变量中,然后创建一个 ajax 调用来提取创建图表所需的信息。成功后,调用 ResetGraph 并向其传递信息。

var dataview = $("#placeholder");
$.ajax({
    url: "index.php",
    data: "stuff&junk&things",
    method: 'GET',
    dataType: 'json',
    success: function(msg){
        resetGraph(msg.dataview, msg.data, msg.data_ticks, msg.)
    }
});

function resetGraph(dataview, data, data_ticks ){

    plot = $.plot(dataview, data, {
        points: { show: true, radius: 5 },
        xaxis: { ticks: data_ticks, tickSize: 7 },
        yaxis: {labelHeight: 2}
    });

}
Run Code Online (Sandbox Code Playgroud)

现在,当您需要更改图表时,只需触发对脚本的调用,获取信息,成功后将其发送到 ResetGraph,它将相应更新。