如何让 rangeSelector 做多个系列的数据分组

How to make rangeSelector do dataGrouping of multiple series

如果按天分组,则只会对第一个系列进行分组。我怎样才能把这两个系列组合在一起?

在上面的示例中,两个系列具有相同的数据,但我目前的情况由两个系列组成,每个点的 x 值相同但 y 值不同。

示例:http://jsfiddle.net/6751x0yj/1/

$('#container').highcharts('StockChart', {
        rangeSelector : {
            allButtonsEnabled: true,
            buttons: [{
                type: 'month',
                count: 3,
                text: 'Day',
                dataGrouping: {
                    forced: true,
                    units: [['day', [1]]]
                }
            }, {
                type: 'year',
                count: 1,
                text: 'Week',
                dataGrouping: {
                    forced: true,
                    units: [['week', [1]]]
                }
            }, {
                type: 'all',
                text: 'Month',
                dataGrouping: {
                    forced: true,
                    units: [['month', [1]]]
                }
            }],
            buttonTheme: {
                width: 60
            },
            selected: 2
        },

        title : {
            text : 'AAPL Stock Price'
        },

        subtitle: {
            text: 'Custom data grouping tied to range selector'
        },

        series : [{
            name : 'Series 1',
            data : data,
            marker: {
                enabled: null, // auto
                radius: 3,
                lineWidth: 1,
                lineColor: '#FFFFFF'
            },
            tooltip: {
                valueDecimals: 2
            }
        },{
            name : 'Series 2',
            data : data,
            marker: {
                enabled: null, // auto
                radius: 3,
                lineWidth: 1,
                lineColor: '#FFFFFF'
            },
            tooltip: {
                valueDecimals: 2
            }
        }]
    });

谢谢!

看起来像一个错误,您已经报告过 here

解决方法是按降序更新系列:

var H = Highcharts;

H.wrap(H.Axis.prototype, "setDataGrouping", function (p, dg, r) {
    if (!dg) {
        dg = {
            forced: false,
            units: null
        };
    }

    if (this instanceof H.Axis) {
        for(var i = this.series.length - 1; i >= 0; i--) {
            this.series[i].update({
                dataGrouping: dg
            }, false);
        };
    }

    p.call(this, dg, r);
});

和演示:http://jsfiddle.net/6751x0yj/2/