我有一个包含每日数据的样条图表。我的数据是每日滴答。是否有可能让HC显示每周或每月滴答数据而不是每日滴答数据?按周/月分组的数据应该是过去7/30天的总和,而不是平均值。
或者我必须在将其送入HC之前手动预处理?
编辑:主图表配置:
var chart = new Highcharts.Chart({
'chart':{
'renderTo':'container',
'type':'spline',
'zoomType':'x'
},
JS小提琴示例图表: http://jsfiddle.net/gqWLU/
答案 0 :(得分:2)
我们尝试了围绕这个,我们使用Highstock(Splinechart)RangeSelector,事件和DataGrouping。点击每周rangeselectorButton,我们通过setExtremes捕获此事件。发布事件后,将其近似为“总和”。如果你使用两个系列而不是迭代对象。
events: {
setExtremes: function (e) {
if (e.rangeSelectorButton != undefined) {
var triger = e.rangeSelectorButton;
if (triger.type == 'week') {
$.each(this.series, function (index, obj) {
obj.options.dataGrouping.units[0] = ['week', [1]];
});
} else if (triger.type == 'day') {
$.each(this.series, function (index, obj) {
obj.options.dataGrouping.units[0] = ['day', [1]];
});
}
}
}
},
答案 1 :(得分:0)
您可以利用Highstock中提供的 plotOptions.spline.dataGrouping.approximation
选项,并将其设置为“sum”以进行近似,并将数据分组设置为1周。不幸的是,我不认为核心Highcharts中有这样的功能。
<强>代码强>
dataGrouping: {
approximation: "sum",
enabled: true,
units: [[
'week',
[1]
]]
}
<强> Data grouping/aggregating | Highchart & Highstock @ jsFiddle 强>