如何防止我的堆叠系列反向排列?

时间:2013-04-24 07:52:36

标签: javascript indexing highcharts series stacked

我尝试了example of stacked series on JSFiddle,但根据我的说法,系列在堆叠时会反转:

$(function () {
    $('#container').highcharts({
        chart: {
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },

        plotOptions: {
            series: {
                stacking: 'normal'
            }
        },

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
        }, {
            data: [144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2]
        }]
    });
});

蓝色的第一行应首先绘制(1月:29.9),第二行应添加到此行(1月:29.9 + 144 = 173.9)。

有没有办法在堆叠时以正确的顺序获得系列?

5 个答案:

答案 0 :(得分:39)

由于这是谷歌的最佳结果,这可能为某些人节省时间:

yAxis有一个reversedStacks参数(自版本3.0.10起),默认为true。要自下而上构建堆栈,请将其设置为false。图例和共享工具提示项目顺序保持正确。

http://jsfiddle.net/r5upptLo/

答案 1 :(得分:26)

您可以按索引参数更改顺序,该参数可以在系列中设置。

http://jsfiddle.net/KLttA/

series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
        index:1
    }, {
        data: [144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 106.4, 129.2],
        index:0
    }]

答案 2 :(得分:1)

您可以使用系列的 legendIndex 参数:http://api.highcharts.com/highcharts#series.data.legendIndex

答案 3 :(得分:0)

另一种方法是将.reverse()添加到系列数组的末尾,参见http://jsfiddle.net/sq9u6q5n/的示例。

答案 4 :(得分:-2)

您在xAxis或yAxis中寻找的是reversed。我尝试了reversedStacks但它没有用,在查看文档之后,我找不到它,假设它已被reversed替换。