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

ECharts如何初始隐藏系列并通过自定义按钮控制显隐及判断状态

ECharts中判断指定系列(Serie)显隐状态的方法

问题原因

通过chart.getOption().series无法看到系列显隐状态变化,是因为getOption()返回的是初始配置或手动setOption传入的静态配置,而通过legendToggleSelect这类交互操作改变的是ECharts的运行时状态,不会同步到静态配置中。

两种判断方法

方法1:通过系列运行时模型判断

利用getModel().getSeriesByName()获取目标系列的运行时模型,调用isVisible()方法判断显示状态:

button.addEventListener('click', (e) => {   
    myChart.dispatchAction({
      type: "legendToggleSelect",
      name: "NAME_OF_THE_SERIE"
    });
    // 获取目标系列的运行时模型
    const targetSerieModel = myChart.getModel().getSeriesByName('NAME_OF_THE_SERIE');
    // isVisible()返回true表示显示,取反即为隐藏状态
    const isHidden = !targetSerieModel.isVisible();
    console.log(`系列 ${targetSerieModel.name} 是否隐藏:${isHidden}`);
});

方法2:通过图例选中状态判断

legendToggleSelect本质是切换图例的选中状态,可通过图例组件的运行时模型获取选中状态:

button.addEventListener('click', (e) => {   
    myChart.dispatchAction({
      type: "legendToggleSelect",
      name: "NAME_OF_THE_SERIE"
    });
    // 获取图例组件的运行时模型
    const legendModel = myChart.getModel().getComponent('legend');
    // 获取所有系列的图例选中状态,key为系列name,value为是否选中(true=显示,false=隐藏)
    const legendSelectedStatus = legendModel.get('selected');
    const isHidden = !legendSelectedStatus['NAME_OF_THE_SERIE'];
    console.log(`系列 NAME_OF_THE_SERIE 是否隐藏:${isHidden}`);
});

补充:设置系列初始隐藏的两种方式

如果需要让指定系列默认处于隐藏状态,无需依赖按钮,直接在配置中设置:

方式1:在series中配置show: false

const option = {
  // 其他配置项
  series: [
    {
      name: "NAME_OF_THE_SERIE",
      type: 'line', // 根据实际图表类型调整
      data: [10, 20, 30],
      show: false // 初始隐藏该系列
    }
    // 其他系列配置
  ]
};

方式2:在legend中配置选中状态

const option = {
  legend: {
    // 其他图例配置
    selected: {
      "NAME_OF_THE_SERIE": false // 初始不选中,对应系列隐藏
    }
  },
  series: [
    {
      name: "NAME_OF_THE_SERIE",
      type: 'line',
      data: [10, 20, 30]
    }
    // 其他系列配置
  ]
};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 23:44:59