высота диаграммы в чартах отдельно от легенды - PullRequest
0 голосов
/ 25 марта 2019

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

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

Я не могуПолучите это, это моя попытка.

options = {
  chart: {
    zoomType: 'x',
    height: 300
  },
  legend: {
     enabled: 'true',
     align: 'center',
     verticalAlign: 'bottom',
     layout: 'horizontal',
     maxHeight: 50
  }
};

В результате я получу, если есть легенда, диаграмму 250px и если это не диаграмма 300px.То, что я хочу, это всегда диаграмма 300px, и если легенда, 50px больше, чтобы ее содержать.

как я могу ее решить?

1 Ответ

1 голос
/ 26 марта 2019

В событии диаграммы load вы можете использовать метод chart.setSize для увеличения высоты диаграммы на высоту легенды.

function addLegendHeight(chart) {
    var legendSpace = chart.legend.legendHeight -
        chart.legend.padding;

    if (legendSpace) {
        chart.setSize(null, chart.chartHeight + legendSpace);
    }
}

Highcharts.chart('container', {
    chart: {
        ...,
        events: {
            load: function() {
                addLegendHeight(this);
            }
        }
    },
    ...
});

Демонстрационная версия: http://jsfiddle.net/BlackLabel/seqah1by/

Справочник по API: https://api.highcharts.com/class-reference/Highcharts.Chart#setSize

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