Highcharts样条图表,按周,月汇总显示?

时间:2012-12-23 15:54:29

标签: highcharts

我有一个包含每日数据的样条图表。我的数据是每日滴答。是否有可能让HC显示每周或每月滴答数据而不是每日滴答数据?按周/月分组的数据应该是过去7/30天的总和,而不是平均值。

或者我必须在将其送入HC之前手动预处理?

编辑:主图表配置:

var chart = new Highcharts.Chart({
    'chart':{
    'renderTo':'container',
    'type':'spline',
    'zoomType':'x'
},

JS小提琴示例图表: http://jsfiddle.net/gqWLU/

2 个答案:

答案 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