2013-04-24 350 views
18

我尝试过的:example of stacked series on jsFiddle但根据我,堆叠时系列是相反的:highcharts堆叠系列顺序颠倒

$(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)。

有没有办法按照正确的顺序将它们堆叠起来?

谢谢。

回答

18

您可以通过可以在系列中设置的索引参数更改顺序。

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 
    }] 
+6

我会尝试一下,并添加'legend:{reversed:true}'以使它按照正确的顺序排列。谢谢 ! – keskispas 2013-04-25 08:13:55

+0

塞巴斯蒂安,你会知道如何在c#中设置一个系列索引值吗? – cgalvao1993 2013-12-06 20:00:54

+0

老实说,我不是家庭与c#,但它是一个对象在JavaScript中,所以你需要家庭在C#中返回JSON,然后在JS中使用> – 2013-12-09 09:12:36

1

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

+0

感谢您发布这个额外的细节 - legendIndex实际上是我之后(不是由订单设置的索引)。 – Kong 2014-12-16 23:36:48

+0

hm根据文档legendIndex仅适用于饼图,OP给出的示例是折线图 – 2015-01-29 21:31:34

+0

Welp。没关系。刚刚尝试过,它适用于所有图表类型。文档需要更新我猜 – 2015-01-29 21:38:05

26

由于这是上面的结果在谷歌,也许这可以节省时间对一些:

yAxisreversedStacks参数(自版本3.0.10起),即true默认。要从下往上构建堆栈,请将其设置为false。图例和共享工具提示项目顺序仍然以这种方式正确。

http://jsfiddle.net/r5upptLo/

+1

API文档:http://api.highcharts.com/highcharts/yAxis.reversedStacks 我希望假是默认的.. – marcovtwout 2016-12-22 11:26:46

5

地址:

reversedStacks: false 

到Y轴设置

-1

你在找什么是X轴Y轴或reversed。我试过reversedStacks,但它没有工作,并在查看文档后,我无法找到它,所以假设它已被替换为reversed

+0

'颠倒'做了完全不同的事情。它颠倒了整个轴线,例如如果之前从左侧的“0”变为右侧的“100”,则“0”现在在右侧,条(如果是条形图)从右侧开始。 – hon2a 2016-04-08 09:27:41