[英]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.