如何在ECharts图例中隐藏单个系列?以排除‘Direct’系列为例
如何将ECharts堆叠折线图中的'Direct'系列从图例中排除?
当然可以实现,有两种简单的方式来完成这个需求:
方法一:修改图例的数据源列表
ECharts的图例是根据legend.data数组渲染的,直接从该数组中移除'Direct'即可:
修改后的完整代码:
import * as echarts from 'echarts'; var chartDom = document.getElementById('main'); var myChart = echarts.init(chartDom); var option; option = { title: { text: 'Stacked Line' }, tooltip: { trigger: 'axis' }, legend: { // 移除了'Direct'项 data: ['Email', 'Union Ads', 'Video Ads', 'Search Engine'] }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, toolbox: { feature: { saveAsImage: {} } }, xAxis: { type: 'category', boundaryGap: false, data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [ { name: 'Email', type: 'line', stack: 'Total', data: [120, 132, 101, 134, 90, 230, 210] }, { name: 'Union Ads', type: 'line', stack: 'Total', data: [220, 182, 191, 234, 290, 330, 310] }, { name: 'Video Ads', type: 'line', stack: 'Total', data: [150, 232, 201, 154, 190, 330, 410] }, { name: 'Direct', type: 'line', stack: 'Total', data: [320, 332, 301, 334, 390, 330, 320] }, { name: 'Search Engine', type: 'line', stack: 'Total', data: [820, 932, 901, 934, 1290, 1330, 1320] } ] }; option && myChart.setOption(option);
方法二:在指定系列中设置不显示在图例
如果不想修改图例的数据源列表,可以直接在'Direct'对应的series配置中添加showInLegend: false属性,强制让该系列不显示在图例中:
修改后的完整代码:
import * as echarts from 'echarts'; var chartDom = document.getElementById('main'); var myChart = echarts.init(chartDom); var option; option = { title: { text: 'Stacked Line' }, tooltip: { trigger: 'axis' }, legend: { data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine'] }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, toolbox: { feature: { saveAsImage: {} } }, xAxis: { type: 'category', boundaryGap: false, data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [ { name: 'Email', type: 'line', stack: 'Total', data: [120, 132, 101, 134, 90, 230, 210] }, { name: 'Union Ads', type: 'line', stack: 'Total', data: [220, 182, 191, 234, 290, 330, 310] }, { name: 'Video Ads', type: 'line', stack: 'Total', data: [150, 232, 201, 154, 190, 330, 410] }, { name: 'Direct', type: 'line', stack: 'Total', // 添加该属性,让此系列不显示在图例 showInLegend: false, data: [320, 332, 301, 334, 390, 330, 320] }, { name: 'Search Engine', type: 'line', stack: 'Total', data: [820, 932, 901, 934, 1290, 1330, 1320] } ] }; option && myChart.setOption(option);
两种方法都能达成需求,方法二更灵活,适合需要保留图例数据源但单独隐藏某个系列的场景。
内容的提问来源于stack exchange,提问作者eastclintw00d
相关产品推荐
相关产品推荐

