HighCharts - установить минимальный тиковый интервал

У меня есть столбец highchart, в котором есть две серии, из которых данные выглядят следующим образом:

series1 : [10000, 20000, 30000, 40000, 50000]
series2 : [500, 600, 800, 1200, 1400] 

Когда у меня есть обе оси, требуется установить интервал тиков 10000. Так что тики оси Y идут в соответствии с серией 1. И это выглядит хорошо.

Теперь я нажимаю на легенду, позволяя отображать только серию 2.

Так что в представлении только серия2, а тикинтервал 10000 — это не совсем то, что нам нужно.

Мне нужно динамически настроить интервал тиков, когда отображается какая-либо серия, т.е. когда щелкают легенду. Как мне этого добиться?

Вы можете попробовать этот сценарий по адресу:

https://stackblitz.com/edit/angular-bar-highcharts-kabali

[Нажмите на Баланс (легенда). тикИнтервал: 1000000]


person Gauri Kesava Kumar    schedule 02.07.2020    source источник


Ответы (1)


Вы можете использовать обратный вызов функции события legendItemClick и динамически устанавливать свойство tickInterval:

  events: {
    legendItemClick: function() {
      if (this.visible) {
        this.yAxis.update({
          tickInterval: 100000
        });
      } else {
        this.yAxis.update({
          tickInterval: 1000000
        });
      }
    }
  }

Текущая демонстрация http://jsfiddle.net/BlackLabel/g1weLpkq/

Справочник по API:

https://api.highcharts.com/highcharts/series.column.events.legendItemClick

https://api.highcharts.com/class-reference/Highcharts.Axis#update

person ppotaczek    schedule 02.07.2020
comment
Попался, спасибо! :) - person Gauri Kesava Kumar; 06.07.2020