Высокие диаграммы: добавьте кнопку на график, чтобы скрыть или показать несколько осей - PullRequest
1 голос
/ 03 мая 2019

У меня есть диаграмма, которая имеет 3 оси Y. У меня есть требование, когда у пользователя есть возможность показать или скрыть ось Y на графике, но мне нужна помощь, чтобы она заработала.

Я добавил кнопку на график и попробовал две разные вещи, чтобы скрыть ось: (i) Используйте методы show и hide на оси (что приводит к ошибке консоли) (ii) Установите для свойства visible значение trye и false.

Вот код, который у меня есть для кнопки:

exporting: {
            buttons: {
                customButton: {
                    text: 'Hide/Show Y-Axis',
                    onclick: function () {

                       /* 
                       /// I get a console error trying to use the hide or show method
                       this.yAxis[0].visible ? this.yAxis[0].hide() : this.yAxis[0].show();

                          */ 

                    if (this.yAxis[0].visible || this.yAxis[1].visible || this.yAxis[2].visible)
                    {
                    this.yAxis[0].visible = false;
                    this.yAxis[1].visible = false;
                    this.yAxis[2].visible = false;
                    }
                    else
                    {
                    this.yAxis[0].visible = true;
                    this.yAxis[1].visible = true;
                    this.yAxis[2].visible = true;
                    } 

               this.redraw();

                    }
                } 
            }
        }

Кажется, это что-то делает, когда он достигает this.redraw(), но не скрывает оси. Что я тут не так делаю?

Полный код: JSFiddle

Спасибо

1 Ответ

4 голосов
/ 03 мая 2019

Вам необходимо использовать метод update на осях с новым visible состоянием

Вот обновление onclick код:

exporting: {
    buttons: {
      customButton: {
      text: 'Hide/Show Y-Axis',
      onclick: function() {
        this.yAxis.forEach((axis) => {
          axis.update({
            visible: !axis.visible
          })
        })
      }
    }
  }
}

Обновленная скрипка: https://jsfiddle.net/8tmvjbhu/2/

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