0
我正在使用Highcharts在單個圖表上繪製多個系列。系列數據是從包含JSON格式數據的文件中讀取的。該文件將每隔幾秒更新一次新數據,並且我有一個重新讀取文件的功能。 這裏的文件中的數據:如何同時更新Highcharts中的多個系列
[{"name": "series1", "data": [[1,109],[2,313],[3,192]]},{"name": "series2", "data": [[1,111],[2,112],[3,777]]}]
我已經得到的代碼是:
//Read JSON data from a file
$(function() {
function getSeriesData(file) {
var data = null;
$.ajax({
async: false,
cache: false,
url: file,
method: 'GET',
dataType: 'json',
success: function(datasets){
data = datasets;
},
error: function(error,text,http){
alert("Error retrieving " + url + ".");
}
});
return data;
}
var graphData = getSeriesData("seriesData.json");
var graphOptions = {
chart: {
type: 'line',
renderTo: "container",
},
series: graphData
};
var graph = new Highcharts.Chart(graphOptions);
var updateInterval = 1000 * 5; // 5 seconds
function update() {
//Need to refresh series data here.
//Something like:
graph.series = getSeriesData("series.json");
graph.redraw();
setTimeout(update, updateInterval);
}
update();});
望着文檔似乎沒有要重新設置所有的系列數據的方法同時使用我的getSeriesData函數重新讀取文件。這裏和其他地方的大多數示例都有通過遍歷[]數組來設置單個系列的數據的方法。但那不是我想要的。也許我必須重做代碼才能這樣做,但是以爲我會先在這裏檢查,希望能有一種更簡單的方法!提前致謝。
謝謝史蒂夫。一系列的數字可能改變,因此第二個選項是什麼,我可能得去。可惜似乎無法在一次通話中刷新全部內容。 – AndyB
當你JSON,你可以得到一系列對象的長度,那麼你將有反覆的NUMER。 –