echarts 饼图柱状图切换
时间: 2023-11-08 16:04:50 浏览: 224
您可以使用 echarts 提供的图例组件和切换组件来实现饼图和柱状图的切换。具体操作如下:
1. 在 option 中设置 legend,包含饼图和柱状图的名称。
2. 在 option 中设置 series,分别对应饼图和柱状图的数据。
3. 在 option 中设置 toolbox,里面包含一个切换组件,用于切换饼图和柱状图。
示例代码如下:
```js
option = {
...
legend: {
data:['饼图', '柱状图'],
selected: {
'饼图': true,
'柱状图': false
}
},
series: [{
name: '饼图',
type: 'pie',
data: [
{value: 335, name: 'A'},
{value: 310, name: 'B'},
{value: 234, name: 'C'},
{value: 135, name: 'D'},
{value: 1548, name: 'E'}
],
label: {
show: true,
formatter: '{b}: {c} ({d}%)'
}
}, {
name: '柱状图',
type: 'bar',
data: [320, 332, 301, 334, 390, 330, 320],
label: {
show: true,
position: 'top'
}
}],
toolbox: {
feature: {
mySwitch: {
show: true,
title: {
pie: '切换到饼图',
bar: '切换到柱状图'
},
iconStyle: {
emphasis: {
borderColor: '#1E90FF'
}
},
icon: 'path://M303.557 497.504c-7.81 0-15.679-2.97-21.678-8.969l-157.084-157.084c-11.949-11.949-11.949-31.36 0-43.308s31.36-11.949 43.309 0l135.405 135.404v-358.395c0-16.277 13.199-29.477 29.477-29.477s29.477 13.199 29.477 29.477v358.394l135.404-135.404c11.948-11.949 31.36-11.949 43.308 0s11.949 31.36 0 43.309l-157.084 157.084c-6 6-13.87 8.969-21.679 8.969z',
onclick: function (params, charts) {
var option = charts.getOption();
if (option.legend[0].selected['饼图']) {
option.legend[0].selected = {
'饼图': false,
'柱状图': true
};
option.series[0].name = '柱状图';
option.toolbox.feature.mySwitch.title = {
pie: '切换到饼图',
bar: '切换到柱状图'
};
} else {
option.legend[0].selected = {
'饼图': true,
'柱状图': false
};
option.series[0].name = '饼图';
option.toolbox.feature.mySwitch.title = {
pie: '切换到柱状图',
bar: '切换到饼图'
};
}
charts.setOption(option);
}
}
}
}
...
};
```
阅读全文