score:1

There is no such built-in functionality in Highcharts, but you can add it by using click event and show/hide methods. Example:

    plotOptions: {
        series: {
            point: {
                events: {
                    click: function() {
                        const operateChildren = (point, operation) => {
                            point.linksFrom.forEach(link => {
                                link.graphic[operation]();
                                link.toNode.graphic[operation]();

                                operateChildren(link.toNode, operation);
                            });
                        };

                        if (this.linksFrom && this.linksFrom[0]) {
                            if (this.linksFrom[0].graphic.visibility === 'hidden') {
                                operateChildren(this, 'show');
                            } else {
                                operateChildren(this, 'hide');
                            }
                        }
                    }
                }
            }
        }
    },

    tooltip: {
        formatter: function(tooltip) {
            if (this.point.graphic.visibility !== 'hidden') {
                return tooltip.defaultFormatter.call(this, tooltip);
            }
            return false;
        }
    }

Live demo: https://jsfiddle.net/BlackLabel/dp03gq6a/

API Reference:

https://api.highcharts.com/class-reference/Highcharts.SVGElement#show

https://api.highcharts.com/class-reference/Highcharts.SVGElement#hide


Related Articles