簡體   English   中英

在已經渲染的jquery flot圖上繪制一個新系列

[英]Plot a new series on an already-rendered jquery flot graph

我有一個浮動圖,它已經渲染了一個數據系列,即

var plot = $.plot($('#placeholder'), [data1], options);

稍后,我將收到一些我想在同一圖表上繪制的新數據,作為單獨的數據系列。 有沒有辦法可以將這個新數據系列添加到現有圖形中,而不必再次構建整個圖形? 也就是說,我想避免像這樣打另一個電話:

var plot = $.plot($('#placeholder'), [data1, data2], options);

而是像這樣打個電話:

plot.addSeries([data2], option);

謝謝!

@Black Box Operations的一般細節非常好。 在重復調用$.plot(...)時,在最新版本(0.7)之前存在一些問題,內存泄漏。 要么升級到最新版本,要么調查plot.setData()plot.setupGrid()plot.draw()

您可以從API.txt獲取setData,setupGrid和draw方法的詳細信息

創建一個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}
    });

}

現在,當您需要更改圖表時,只需觸發對腳本的調用,獲取信息,成功時將其發送到resetGraph,它將相應地更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM