网络图-是否可以在点击网络图时隐藏特定节点?

时间:2019-04-16 10:02:56

标签: javascript highcharts

我正在尝试隐藏网络图中点击的节点。如何使用highcharts隐藏网络图中的节点?

我已经尝试过删除系列中的节点并更新图表。有更好的方法吗?

Network Graph

1 个答案:

答案 0 :(得分:1)

要隐藏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