我正在使用 Highcharts 在单个图表上绘制多个系列。系列数据是从包含 JSON 格式数据的文件中读取的。该文件将每隔几秒钟更新一次新数据,并且我有一个重新读取文件的功能。这是文件中的数据:
[{"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 函数重新读取文件同时再次设置所有系列数据。这里和其他地方的大多数示例都可以通过 series[] 数组来设置单个系列的数据。但这不是我要找的。也许我必须重做代码才能这样做,但我想我会先在这里检查一下,希望有更简单的方法!提前致谢。