如何关闭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
相关产品推荐
相关产品推荐

