highstock. Не обновлять видимость серии навигатора - PullRequest
0 голосов
/ 27 июня 2018

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

Я пытался с параметром «adaptToUpdatedData», не работает.

Я пытался обработать события в "legendItemClick" и скрыть серию вручную, но это также скрывает серию навигатора.

Пожалуйста, помогите! Я перепробовал почти все.

Единственное, чего мне удалось добиться - это сохранить все серии с параметром "showInNavigator" в ложном значении, а затем добавить серию в navigator.series.

Но я думаю, что это не очень хорошее решение.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Вы можете использовать метод Highcharts removeEvent, чтобы удалить связь при изменении видимости между серией карт и серией навигатора:

chart: {
    events: {
        load() {
            this.series.forEach(function(s) {
                if (!s.baseSeries) {
                    H.removeEvent(s, 'show');
                    H.removeEvent(s, 'hide');
                }
            });
        }
    }
},

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

Справочник по API: https://api.highcharts.com/class-reference/Highcharts#.removeEvent%3CT%3E

0 голосов
/ 15 февраля 2019

Я добавляю hide событий в серию с showInNavigator: true. Они вызывают функцию, которая:

var chart = this.$refs.highcharts.chart
for (var series of chart.navigator.series) {
    series.setVisible(true, false)
}
chart.redraw()
...