Обновить всю серию данных для графика - PullRequest
1 голос
/ 12 апреля 2019

Что я хочу сделать: у меня есть базовая линейная диаграмма, которая изначально загружена массивом данных (серии: [...]), который создает меня, скажем, x линий. Я также сделаю x флажки над диаграммой. При нажатии на один из флажков соответствующая строка должна исчезнуть или появиться. Поэтому я слушаю событие нажатия, а затем хочу добавить или удалить строку.

Проблема: не могу понять, как заменить всю серию на новую. Я нашел метод setData (), но он работает только с элементом массива данных. Я также нашел методы addSeries (), которые добавят элемент. И удалить (), который удалит конкретный элемент. Проблема в том, что я не знаю, какой предмет какой. Я хотел бы скрыть строку или показать их, но все время иметь полные x строк в ряду данных. Я думаю.

Я также нашел метод update (), который позволит мне передать новый объект конфигурации на диаграмму, но он не работает, если я передам опцию 'series: newData (array)'.

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

Надеюсь, это понятно, и кто-то может указать, что мне не хватает! Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Вы можете использовать setVisible метод для серии и привязать чекбоксы с серией:

var checkboxes = document.getElementById('checkboxes').children;

for (var i = 0; i < checkboxes.length; i++) {
    (function(i) {
        checkboxes[i].addEventListener('change', function() {
            chart.series[i].setVisible(this.checked);
        });
    })(i);
}

Живая демоверсия: http://jsfiddle.net/BlackLabel/ur31g4j5/

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

0 голосов
/ 12 апреля 2019

Я нашел решение.Я бы загружал весь массив данных в начале и показывал или скрывал определенные серии для начального отображения с параметром visible: false.

При нажатии на флажки мне нужно найти правильную серию, а затем естьметоды show () и hide () для управления этим видимым свойством во время выполнения.

chart.series[myIndex].show();
chart.series[myIndex].hide();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...