避免在a的每个列系列上显示重复的堆栈标签。高图

时间:2020-10-05 21:38:59

标签: javascript highcharts react-highcharts

我正在使用高图绘制如下所示的堆叠成组的高图。 https://jsfiddle.net/4tojbfsq/1/

我能够在顶部获得所有数据标签的总数,而且我还想在x轴上渲染一个堆栈标签,就像双x轴一样,如上面的小提琴所示。 但是我的问题是我能够在x轴上显示stacklabel,但是我也看到每个堆叠系列重复相同的堆叠标签。

enter image description here

有什么办法可以让我在所有系列的底部显示堆栈标签,而不在堆栈系列中的任何地方重复。

代码:

 yAxis: {
          allowDecimals: false,
          //offset:10,
          title: {
            text: 'Number of fruits'
          },
          stackLabels: {
          enabled: true,
            verticalAlign: 'top',
            formatter: function() {
            return this.total;
            },
          }

        },

        plotOptions: {
          column: {
            stacking: 'normal'
          },
          series: {
           dataLabels: {
            enabled: true,
            verticalAlign: 'bottom',
            
            overflow: 'none',
            crop: false,
            y: 20,
            formatter() {
              return this.series.userOptions.stack;
            }
          }
          }
        },

        series: [{
          name: 'John',
          data: [53, 33, 43,63,7,83],
          stack: 'malssses'
        }, {
          name: 'Joe',
          data: [33, 43,43,63,73,8],
          stack: 'female'
        }, {
          name: 'Jane',
          data: [42, 54,43,62,74,84],
          stack: 'malssses',
        
        }, {
          name: 'Janet',
          data: [34, 40, 42,36,74,83],
          stack: 'female',
        }]

1 个答案:

答案 0 :(得分:0)

重复标签不是stacklabels,而是dataLabels。您只能显示特定系列的dataLabels:

   {
              name: 'Jane',
              data: [42, 54, 43, 62, 74, 84],
              stack: 'malssses',
              dataLabels: {
                enabled: true,
                verticalAlign: 'bottom',
                overflow: 'none',
                crop: false,
                y: 20,
                formatter() {
                  return this.series.userOptions.stack;
                }
              }
    
            }, {
              name: 'Janet',
              data: [34, 40, 42, 36, 74, 83],
              stack: 'female',
              dataLabels: {
                enabled: true,
                verticalAlign: 'bottom',
                overflow: 'none',
                crop: false,
                y: 20,
                formatter() {
                  return this.series.userOptions.stack;
                }
              }
            }

演示:https://jsfiddle.net/BlackLabel/t3sheqbu/

API:https://api.highcharts.com/highcharts/series.line.dataLabels