在堆积和分组列上键入标签 - Highcharts

时间:2017-12-05 21:15:19

标签: highcharts labels stacked-chart

我正在尝试在堆积条形图上获取标签。这里的堆栈类型是男性/女性,我想在图表上显示。无论如何要显示它吗?

这是链接

https://jsfiddle.net/jq2e51Lx/

这是html:

<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>

的Javascript

Highcharts.chart('container', {

    chart: {
        type: 'column'
    },

    title: {
        text: 'Total fruit consumtion, grouped by gender'
    },

    xAxis: {
        categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
    },

    yAxis: {
        allowDecimals: false,
        min: 0,
        title: {
            text: 'Number of fruits'
        }
    },

    tooltip: {
        formatter: function () {
            return '<b>' + this.x + '</b><br/>' +
                this.series.name + ': ' + this.y + '<br/>' +
                'Total: ' + this.point.stackTotal;
        }
    },

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

    series: [{
        name: 'John',
        data: [5, 3, 4, 7, 2],
        stack: 'male'
    }, {
        name: 'Joe',
        data: [3, 4, 4, 2, 5],
        stack: 'male'
    }, {
        name: 'Jane',
        data: [2, 5, 6, 2, 1],
        stack: 'female'
    }, {
        name: 'Janet',
        data: [3, 0, 4, 4, 3],
        stack: 'female'
    }]
});

1 个答案:

答案 0 :(得分:1)

The OP wrote in a comment:

  

非常感谢!工作就像一个魅力:)

基于@Barbara Laird的小提琴样本

&#13;
&#13;
Highcharts.chart('container', {
  chart: {
    type: 'column'
  },
  title: {
    text: 'Total fruit consumtion, grouped by gender'
  },
  xAxis: {
    categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas'],
    labels: {
      y: 40
    }
  },
  yAxis: {
    allowDecimals: false,
    min: 0,
    title: {
      text: 'Number of fruits'
    },
    stackLabels: {
      enabled: true,
      verticalAlign: 'bottom',
      crop: false,
      overflow: 'none',
      y: 20,
      formatter: function() {
        return this.stack;
      },
      style: {
        fontSize: '9px'
      }
    }
  },
  legend: {
    labelFormatter: function() {
      return this.name + ' (' + this.userOptions.stack + ')';
    }
  },
  tooltip: {
    formatter: function() {
      var stackName = this.series.userOptions.stack;

      return '<b>Stack name: </b>' + stackName + '<br/><b>' + this.x + '</b><br/>' +
        this.series.name + ': ' + this.y + '<br/>' +
        'Total: ' + this.point.stackTotal;
    }
  },
  plotOptions: {
    column: {
      stacking: 'normal'
    }
  },
  series: [{
    name: 'John',
    data: [5, 3, 4, 7, 2],
    stack: 'male'
  }, {
    name: 'Joe',
    data: [3, 4, 4, 2, 5],
    stack: 'male'
  }, {
    name: 'Jane',
    data: [2, 5, 6, 2, 1],
    stack: 'female'
  }, {
    name: 'Janet',
    data: [3, 0, 4, 4, 3],
    stack: 'female'
  }]
});
&#13;
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
&#13;
&#13;
&#13;