echarts饼图图例点击获取数据
时间: 2023-11-14 20:09:49 浏览: 121
您可以通过echarts的事件监听来实现饼图图例点击获取数据。具体实现步骤如下:
1. 在echarts的option中设置legend的点击事件,例如:
```
legend: {
data: ['类别1', '类别2', '类别3'],
selectedMode: 'single',
// 点击事件
selected: {
'类别1': true,
'类别2': true,
'类别3': true
},
// 点击事件
textStyle: {
color: '#fff'
},
// 点击事件
formatter: function(name) {
return echarts.format.truncateText(name, 80, '14px Microsoft Yahei', '…');
}
},
```
2. 在echarts的option中设置series的点击事件,例如:
```
series: [{
name: '访问来源',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{value: 335, name: '类别1'},
{value: 310, name: '类别2'},
{value: 234, name: '类别3'}
],
// 点击事件
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}]
```
3. 在点击事件中获取对应的数据,例如:
```
myChart.on('legendselectchanged', function(params) {
var selected = params.selected;
var data = [];
for (var name in selected) {
if (selected[name]) {
data.push({name: name, value: 0});
}
}
myChart.setOption({
series: [{
data: data
}]
});
});
myChart.on('click', function(params) {
console.log(params.name);
console.log(params.value);
});
```
阅读全文