2012-08-30 103 views
6

我制作了一张带分组和堆积列的Highcharts图表,如下面的示例所示:http://www.highcharts.com/demo/column-stacked-and-grouped。这个例子显示了5个不同人的许多成果,按性别分组。在这个例子中,我想念的是一个x轴标签,显示每个组下面的组(男性或女性)的名称。是否有可能将此添加到图表?highcharts列标签

下面是我试图制作的图表的简化版本:http://jsfiddle.net/WQjVP/66/。它显示了案件处理系统中三个地点的开放(蓝色)和逾期(红色)问题的数量。每组中的左列显示7月份该位置的编号,每组中的右列显示同一单位的8月份编号。我想要做的是在每一列下显示月份,以便第一列将有“七月”,第二列将有“八月”,第三列将有“七月”等,列和位置标签。

chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: 'container', 
     type: 'column' 
    }, 
    title: { 
     text: '' 
    }, 
    subtitle: { 
     text: '' 
    }, 
    xAxis: { 
     categories: ["Location A","Location B","Location C"], 
     title: { 
      text: "Location" 
     } 
    }, 
    yAxis: { 
     allowDecimals: false 

    }, 
    plotOptions: { 
     series: { 
      dataLabels: { 
       enabled: true, 
       formatter: function() { 
        if (this.y === 0) { 
         return null; 
        } 
        return this.y; 
       }, 
       style: { 
        color: 'white' 
       } 
      } 
     }, 
     column: { 
      stacking: 'normal', 
      borderWidth: 0 
     } 
    }, 
    series: [{ 
     "color": "rgb(0,0,255)", 
     "name": "open", 
     "data": [18, 2, 6], 
     "stack": "Jul"}, 
    { 
     "color": "rgb(255,0,0)", 
     "name": "overdue", 
     "data": [0, 0, 0], 
     "stack": "Jul"}, 
    { 
     "color": "rgb(0, 0, 255)", 
     "name": "open", 
     "data": [20, 1, 10], 
     "stack": "Aug"}, 
    { 
     "color": "rgb(255, 0, 0)", 
     "name": "overdue", 
     "data": [2, 1, 2], 
     "stack": "Aug"}] 
}); 
+0

也不会把下来作为一个答案,因为它是丑陋的。但是,如何创建包含所需标签的第二个xAxis?将xAxis位置设置为您需要的位置并移除xAxis线。 – wergeld

回答

15

尝试使用stackedLabels

yAxis: { 
    stackLabels: { 
     enabled: true, 
     style: { 
      fontWeight: 'bold', 
      color: 'gray' 
     }, 
     formatter: function() { 
      return this.stack; 
     } 
    } 
} 

Demo

reference