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

如何在AnyChart堆叠柱状图点击时获取系列名称?

如何在AnyChart堆叠柱状图点击时获取系列名称?

我懂你的困扰——点击柱状图时能拿到数据点的值和x轴信息,但系列名称一直返回undefined,就是拿不到你设置的"Requirements Complete"对吧?

问题出在你目前用的e.iterator是针对单个数据点的,它的name属性对应的是数据点自身的名称(如果你的数据源里定义过的话),而不是整个系列的名称。要获取系列名称,你得从事件对象里的系列实例入手:

解决方案步骤:

  • 首先确保你的系列明确设置了名称(如果setupSeriesLabels没有自动帮你完成这件事):
    在创建系列后,调用series.name()方法设置系列名称:
    series.name("Requirements Complete");
    
  • 在pointClick事件回调里,通过e.target获取当前系列实例,再调用name()方法就能拿到系列名称了:

修改后的完整代码示例:

series = chart.column(thirdSeriesData);
series.name("Requirements Complete"); // 明确设置系列名称
setupSeriesLabels(series, "Requirements Complete");
series.fill("green");
series.listen("pointClick", function (e) {
    console.log(e.iterator.get("value"));
    console.log(e.iterator.get("name")); // 这是数据点的名称(若数据源有定义)
    console.log(e.iterator.get("x"));
    // 获取系列名称的正确方式
    const seriesName = e.target.name();
    console.log(seriesName); // 这里会输出"Requirements Complete"
});

原理说明

e.target指向的是触发点击事件的整个系列对象,而非单个数据点。AnyChart的系列对象内置了name()方法,用于获取(或设置)系列的名称,所以通过它就能轻松拿到你想要的系列名称了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 09:33:13