You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Highchart Sankey图节点点击事件添加可行性咨询

Highchart Sankey 节点点击事件实现方案

当然可以给Sankey图的节点添加点击事件,只是默认配置里没有直接暴露,下面提供两种可行的实现方式:

方法一:直接配置节点点击事件

在plotOptions.sankey.node.events中定义click回调函数,这是最直接的方式,适用于较新版本的Highcharts:

Highcharts.chart('container', {
    series: [{
        type: 'sankey',
        data: [
            ['A', 'X'],
            ['A', 'Y'],
            ['B', 'X'],
            ['B', 'Z']
        ]
    }],
    plotOptions: {
        sankey: {
            node: {
                events: {
                    click: function() {
                        // 编写节点点击后的逻辑
                        console.log('节点被点击:', this.name);
                        alert('点击了节点 ' + this.name);
                    }
                }
            }
        }
    }
});

方法二:通过图表全局点击事件判断

如果你的Highcharts版本较低,不支持直接配置节点事件,可以通过图表的click事件,判断点击元素是否为节点:

Highcharts.chart('container', {
    series: [{
        type: 'sankey',
        data: [
            ['A', 'X'],
            ['A', 'Y'],
            ['B', 'X'],
            ['B', 'Z']
        ]
    }],
    chart: {
        events: {
            click: function(event) {
                const point = event.point;
                // 判断点击的是节点而非链接
                if (point && point.node) {
                    console.log('节点被点击:', point.node.name);
                    alert('点击了节点 ' + point.node.name);
                }
            }
        }
    }
});

注意:第二种方法中,点击节点时event.point会包含对应节点信息,通过point.node可获取节点详细数据;若点击的是链接,point为链接数据对象,无node属性,以此区分节点和链接的点击操作。

内容的提问来源于stack exchange,提问作者Bewan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:35:36