Highcharts.js - динамически отключить данную категорию - PullRequest
0 голосов
/ 23 января 2019

В Highcharts.js можно отключить / включить данную категорию, нажав на нее? Точно так же, как вы можете отключить / включить данную серию в легенде, нажав на нее.

Если нет, какова следующая лучшая альтернатива?

1 Ответ

0 голосов
/ 23 января 2019

Отключение категории путем нажатия на нее не поддерживается в Highcharts по умолчанию.Чтобы получить желаемый результат, вам нужно добавить собственный код.Например, в событии render вы можете добавить событие click к ярлыкам xAxis и обновить диаграмму новыми категориями и данными:

var H = Highcharts,
    categories = ['one', 'two', 'three'],
    data = [1, 2, 3];

chart = Highcharts.chart('container', {
    chart: {
        events: {
            render: function() {
                var chart = this;

                H.objectEach(chart.xAxis[0].ticks, function(tick) {
                    if (tick.label) {
                        H.addEvent(tick.label.element, 'click', function() {
                            data.splice(tick.pos, 1);
                            categories.splice(tick.pos, 1);

                            chart.update({
                                series: [{
                                    data: data
                                }],
                                xAxis: {
                                    categories: categories
                                }
                            });
                        });
                    }
                });
            }
        }
    },
    series: [{
        type: 'column',
        data: data
    }],
    xAxis: {
        categories: categories
    }
});

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

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

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