Сетевой график - есть ли способ скрыть определенный узел при щелчке в сетевом графике? - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь скрыть узел на клике в сетевом графике. Как я могу скрыть узел в сетевом графике, используя высокие диаграммы?

Я уже пытался удалить узел в серии и обновить график. Есть ли лучший способ?

Network Graph

1 Ответ

1 голос
/ 16 апреля 2019

Чтобы скрыть определенную точку в событии click, используйте метод remove:

plotOptions: {
    networkgraph: {
        ...,
        point: {
            events: {
                click: function() {
                    this.remove();
                }
            }
        }
    }
}

Однако в диаграмме networkgraph есть ошибка, связанная с методом remove (сообщаетсяздесь: https://github.com/highcharts/highcharts/issues/10565),, поэтому дополнительно необходимо использовать обходной путь:

Highcharts.wrap(
    Highcharts.seriesTypes.networkgraph.prototype, 'generatePoints',
    function(p) {
        if (this.nodes) {
            this.nodes.forEach(function(node) {
                node.destroy();
            });
            this.nodes.length = 0;
        }
        return p.apply(this, Array.prototype.slice.call(arguments, 1));
    }
);

Демонстрационная версия: https://jsfiddle.net/BlackLabel/m9tjb481/

Ссылка API: https://api.highcharts.com/class-reference/Highcharts.Point#remove

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