Highcharts 如何使rangeSelector对多个系列进行数据分组

Highcharts 如何使rangeSelector对多个系列进行数据分组,highcharts,highstock,Highcharts,Highstock,如果按天分组,则只对第一个系列进行分组。我怎样才能使它对两个系列都进行分组 在上面的示例中,两个系列都有相同的数据,但我的当前情况是由两个系列组成,每个点的x值相同,但y值不同 例如: 谢谢 看起来像一个bug,您已经报告过了 解决方法是按降序更新系列: var H = Highcharts; H.wrap(H.Axis.prototype, "setDataGrouping", function (p, dg, r) { if (!dg) { dg = {

如果按天分组,则只对第一个系列进行分组。我怎样才能使它对两个系列都进行分组

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

例如:


谢谢

看起来像一个bug,您已经报告过了

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

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);
});

还有演示:

是的,这很有效!谢谢。另一个问题:当xAxis极值更新时,数据分组似乎丢失了。在极端值更新后,如何保持当前数据分组?ThanksIt取决于,如果更改范围,则数据分组将更改。如果只更改导航器的位置,则数据分组不应更改。我认为创建自己的按钮会更容易,它只会用所需的数据分组更新系列。这就是我最终要做的。谢谢!
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);
});