Highcharts を使用して、複数の系列を 1 つのグラフにグラフ化しています。系列データは、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[] 配列を使用して個々のシリーズのデータを設定する方法があります。しかし、それは私が探しているものではありません。そのようにするには、コードをやり直す必要があるかもしれませんが、もっと簡単な方法があることを期待して、最初にここをチェックすると思いました! 前もって感謝します。