HighCharts.js中具有不等子组的堆积柱形图

时间:2015-02-13 20:56:29

标签: highcharts

我正在尝试使用不等数量的"子组"创建堆积柱形图。

例如,给出以下数据:

Category#1 : [SubCategory1: 2, SubCategory2: 4, SubCategory3: 3], 
Category#2 : [SubCategory4: 5, SubCategory5: 3], 
Category#3 : [SubCategory6: 4, SubCategory7: 3, SubCategory8: 3, SubCategory9: 5]
...

我想创建一个柱形图,其中第一列由三个堆叠的段组成,总高度为9, 第二列有两个段的堆栈,总高度为8, 第三列有四个段,总高度为15。

使用HighCharts API工作了一段时间后,通常会得到好的结果,我相信我想要完成的工作可能是可行的,我可能只是错过了一些选项组合或错误地构造了我的数据。有谁知道我需要做什么来创建这样的图表?

1 个答案:

答案 0 :(得分:1)

您可以通过以下两种方式解决此问题:


  1. 为系列中的每个点指定一个与类别索引相关的特定x索引。

    系列示例(JSFiddle):

    series: [{
        name: 'John',
        data: [{x:0,y:5},{x:3,y:7},{x:4,y:2}]
    }
    

    这里我们跳过第2和第3类(索引1和2),因此它们没有值。


    1. 使用系列中的null值跳过,使其显示在某个类别中。

      系列示例(JSFiddle):

      series: [{
          name: 'John',
          data: [5, null, null, 7, 2]
      }
      

      本系列也会跳过第二和第三类,如上所述。


    2. 您的解决方案选择可能取决于您最终会得到多少null个值。如果它只是少数,那么这可能是最轻量级的解决方案。如果它很多,那么使用具有x值的Point对象可能更合适也更清晰。