Значение оси X в stackLabels Formatter на верхней диаграмме бара - PullRequest
0 голосов
/ 06 сентября 2018

Я хочу отобразить пользовательскую метку в верхней части гистограммы.

Ниже приведен мой код стека, проблема в том, что я хочу, чтобы имя категории стека находилось внутри средства форматирования стека, как мне получить к нему доступ.

stackLabels: {
                enabled: true,
                align: 'right',
                style: {
                  color: 'green',
                  fontWeight: 'bold'
                }


                formatter: function () {
                   return usedInfoArray[category name];

                 },


                align: 'right'
              }
            },

/**********************************************************/


    Highcharts.chart('chartContainer', {
            chart: {
              type: 'bar'
            },
            title: {
              text: ''
            }

            legend: {
              maxHeight: 40,
              itemWidth: 100,
              itemStyle: {
                color: '#FFF',
                fontWeight: 'bold',
                fontSize: 10
              }
            },
            xAxis: {
              categories: categories
            },
            yAxis: {
              min: 0,
              title: {
                text: ''
              },
              stackLabels: {
                enabled: true,
                align: 'right',
                style: {
                  color: 'green',
                  fontWeight: 'bold'
                }


                formatter: function () {
                   return usedInfoArray[xaxis value];

                 },


                align: 'right'
              }
            },

            plotOptions: {
              series: {
                stacking: 'normal',
                pointWidth: 10,
                groupPadding: 0.2


              },
              dataLabels: {
                formatter: function () {
                  var dataLabel = this.x;
                  if (dataLabel.length > 10) {
                    dataLabel = dataLabel.substring(0, 10);
                  }
                  return dataLabel;
                },
                enabled: true
              }
            },
            tooltip: {
              headerFormat: '<b>{point.x}</b><br/>',
              pointFormat: function () {
                return usedInfoArray[point.x];
              }
            },
            series: [{
              name: 'Free',
              'color': '#FFCC66',
              data: freeData
            }, {
              name: 'Used',
              'color': '#663399',
              data: usedData
            }]
          });

1 Ответ

0 голосов
/ 06 сентября 2018

Вы можете получить косвенный доступ к названию категории оси x через диаграмму:

yAxis: {
  stackLabels: {
    enabled: true,
    align: 'right',
    formatter: function() {
      var xValue = this.x,
        xAxis = this.axis.chart.xAxis[0];

      return xAxis.categories[xValue];
    }
  }
}

Демонстрация в реальном времени: https://jsfiddle.net/BlackLabel/g68xphmf/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...