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

如何关闭ECharts中axis触发模式下的Tooltip悬停效果以避免图表区域颜色变淡

解决ECharts堆叠面积图Tooltip轴触发时区域颜色变淡的问题

我刚好遇到过类似的情况,ECharts 5及以后的版本中,当Tooltip设置trigger: 'axis'时,默认会高亮当前坐标轴对应的系列,同时淡化其他系列的显示,这就是你看到区域颜色几乎难以辨认的原因。要禁用这个悬停效果,让图表线条和区域保持原本颜色,你可以通过以下两种方式实现:

方式一:全局禁用所有系列的高亮效果

直接在option中添加全局的emphasis配置,一次性禁用所有系列的高亮状态:

var myChart = echarts.init(document.getElementById('chart'));
option = {
  tooltip: {
    trigger: 'axis',
  },
  // 新增全局高亮禁用配置
  emphasis: {
    disabled: true
  },
  legend: {
    data: ['A', 'B', 'C']
  },
  xAxis: {
    type: 'category',
    data: [0, 1, 2, 3, 4, 5, 6, 7, 8]
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      name: 'C',
      type: 'line',
      areaStyle: {
        color: '#fdd',
      },
      stack: 'C',
      data: [ 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 0.7, 0.8, 0.8 ]
    },
    {
      name: 'A',
      type: 'line',
      areaStyle: {
        color: '#ffd'
      },
      stack: 'C',
      data: [ 2, 1.6, 1.6, 1.6, 1.6, 1.6, 2.4, 2.4, 2.4 ]
    },
    {
      name: 'B',
      type: 'line',
      areaStyle: {
        color: '#dfd'
      },
      stack: 'C',
      data: [ 2, 1.9, 2.1, 2.3, 2.3, 2.5, 2.1, 2.1, 2.1 ]
    }
  ],
  color: [ '#d34', '#fc1', '#3a4' ],
  grid: { left: 20, bottom: 20, right: 10, top: 40},
};
myChart.setOption(option);

方式二:针对单个系列禁用高亮(灵活保留部分系列效果)

如果你希望某些系列仍保留高亮效果,可以在需要禁用的series对象中单独添加emphasis.disabled: true配置:

series: [
  {
    name: 'C',
    type: 'line',
    areaStyle: {
      color: '#fdd',
    },
    stack: 'C',
    data: [ 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 0.7, 0.8, 0.8 ],
    // 单独禁用该系列的高亮
    emphasis: {
      disabled: true
    }
  },
  // 另外两个系列同理添加该配置即可
]

两种方式都能实现你想要的效果:鼠标悬停在坐标轴上时,图表的线条和区域颜色保持初始状态,不会出现变淡的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 17:07:27