我正在尝试在 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轴上的时间吗?任何方向都非常感谢。