すべてのシリーズが問題の日付と一致するデータ ポイントを必ずしも持っていない x 軸のタイムラインを使用して積み上げ縦棒グラフを作成しようとしています。データ ポイントごとに複数の列を含む縦棒グラフを作成できますが、実際には積み上げグラフが必要です。チャートのデータは、必要に応じてフォーマットを操作できる JSON です。
var options = {
chart: {
renderTo: 'timeline',
zoomType: 'x',
type: 'column'
},
title: {
text: 'Releases'
},
yAxis: {
title: {
text: 'Count'
}
},
xAxis: {
type: 'datetime'
},
legend: {
enabled: true
},
series: []
};
/*
Following URL returns json like:
{
"rows": {
"dynamicCategory1": {
"0": {
"count": "7",
"unix_date": "1344225600"
},
"3": {
"count": "2",
"unix_date": "1344312000"
}
},
"dynamicCategory2": {
"5": {
"count": "7",
"unix_date": "1344225600"
},
"7": {
"count": "2",
"unix_date": "1345003200"
}
}
}
}
*/
$.getJSON("/mydatainjsonformat/", function(data) {
$.each(data.rows, function(key, val) {
var series = { data: [] };
series.name = key;
$.each(val, function(key2, val2) {
var x = parseFloat(val2.unix_date * 1000);
var y = parseFloat(val2.count);
series.data.push([x, y]);
});
options.series.push(series);
});
$(function () {
var chart1;
$(document).ready(function() {
chart1 = new Highcharts.Chart(options);
});
});
});
理論的には、特定の日付の値を持たない各カテゴリに 0 を含めるようにデータを変更してから、日付をカテゴリにすることができますが、それは正しい方法ですか? それは x 軸の時間を台無しにしませんか? どんな方向でも大歓迎です。