最近做的巨量資料平臺,裡面很多地方用到了ECharts,其中有個功能,要求將圖表分組,根據使用者選擇的組,來確定ECharts要顯示那些線條和柱子,也就是動態的顯示option.series。
找了一下EChart的檔案,發現可以通過控制option.legend.selected,來動態設定,無論餅圖、折線圖、還是柱狀圖,都可以通過這個來控制顯示哪些。
EChart的legend.selected
屬性是一個物件,可以把series
的每一個系列的name
作為鍵名,值為Boolean
,來控制是否顯示。通過範例化後的EChart物件來setOption,就可以實現動態更改顯示,只需要把資料變化set到ECharts範例上就可以了。
option = {
tooltip: {
trigger: 'axis'
},
legend: {
selected: {
AAA: false
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [
{
name: 'AAA',
type: 'line',
data: [120, 132, 101, 134, 90, 230, 210]
},
{
name: 'BBB',
type: 'line',
data: [220, 182, 191, 234, 290, 330, 310]
},
{
name: 'CCC',
type: 'line',
data: [150, 232, 201, 154, 190, 330, 410]
},
{
name: 'DDD',
type: 'line',
data: [320, 332, 301, 334, 390, 330, 320]
}
]
};
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
legend: {
selected: {
AAA: false
}
},
tooltip: {
trigger: 'item'
},
yAxis: {
type: 'value'
},
series: [
{
name: 'AAA',
type: 'bar',
data: [10,20,30,40,50,60,70],
},
{
name: 'BBB',
type: 'bar',
data: [20,30,40,50,60,70,80],
},
{
name: 'CCC',
type: 'bar',
data: [30,40,50,60,70,80,90],
},
{
name: 'DDD',
type: 'bar',
data: [40,50,60,70,80,90,100],
},
{
name: 'EEE',
type: 'bar',
data: [50,60,70,80,90,100,110],
}
]
};
option = {
tooltip: {
trigger: 'item'
},
legend: {
selected: {
AAA: false
}
},
series: [
{
name: 'Pie',
type: 'pie',
radius: '50%',
data: [
{ value: 1048, name: 'AAA' },
{ value: 735, name: 'BBB' },
{ value: 580, name: 'CCC' },
{ value: 484, name: 'DDD' },
{ value: 300, name: 'EEE' }
]
}
]
};
開啟體驗地址,將資料貼上上去,就可以檢視效果。
本次分享就到這兒啦,我是鵬多多,如果您看了覺得有幫助,歡迎評論,關注,點贊,轉發,我們下次見~
PS:在本頁按F12,在console中輸入document.querySelectorAll('.diggit')[0].click(),有驚喜哦
公眾號
往期文章
個人主頁