Highcharts柱形图分组

时间:2017-02-10 12:02:48

标签: javascript highcharts

好的,这是非常棘手的。我有一系列以下对象:

enter image description here

现在我的目标是创建如下所示的柱形图: enter image description here

然后是我的数组中的下一个对象。

我一直在查看文档,我能找到的就是这样:

Highcharts demo

问题是您在系列中设置的data值。如果插入一个数组,它将被拆分为所有类别。据我所知,您无法将一个数据系列锁定到一个类别。

我的问题是,之前有没有人做过这样的事情并能帮助我? :)

我的尝试:

我在这个小提琴中尝试:

 Highcharts.chart('container', {
        xAxis: {
            minPadding: 0.05,
            maxPadding: 0.05,
            categories: ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums']
        },
        series: [{
                type: 'column',
            name: 'Apples',
            zoneAxis: 'x',
            data: [
                ['First', 29.9],
                ['Second', 71.5],
                ['Third', 106.4]
            ]
        },{
            type: 'column',
          name: 'oranges',
          data:[
            ['A', 20]
          ]
        }]
    });

Fiddle

1 个答案:

答案 0 :(得分:1)

可能有很多方法可以解决这个问题,最好的选择取决于您的需求的具体程度。

首先想到的是,只是操纵数据和类别的结构。

示例:

   xAxis: {
      categories: ['Group 1', 'Group 2', 'Group 3'],
      labels: { style: { fontWeight: 'bold' } }
    },
    series: [{
      name: 'Subset A',
            data: [{y: 10, name: '1A'}, {y: 5, name: '2A'}, {y: 7, name: '3A'}]
    }, {
      name: 'Subset B',
            data: [{y: 5, name: '1B'}, {y: 3, name: '2B'}, {y: 4, name: '3B'}]
    }]

所以,假设有三组,每组有两个点。您希望第一个类别从第1组显示点 A B ,第二个类别显示 A 第2组 B

<强>小提琴:

<强>输出:

enter image description here

这方面的主要潜在缺点是图例将显示/隐藏A点或B点,而不是第1,2或3组。

如果这是一个问题,您可以通过添加显示/隐藏类别的功能来解决此问题。

在这里查看这个问题的答案:

这里有相关的小提琴: