echarts饼图label点击事件
时间: 2023-07-11 07:47:48 浏览: 481
解决echarts中饼图标签重叠的问题
ECharts 饼图的 label 点击事件可以通过以下步骤实现:
1. 在 series 的 label 属性中设置 formatter 和 rich 属性,例如:
```
series: [{
type: 'pie',
data: [...],
label: {
formatter: function(params) {
return '{a|' + params.name + '}\n{b|' + params.value + '}';
},
rich: {
a: {
color: '#666',
lineHeight: 18,
clickable: true // 设置 a 标签可点击
},
b: {
fontSize: 16,
lineHeight: 24
}
}
}
}]
```
2. 在 formatter 函数中,通过设置返回的字符串包含 HTML 标签和 CSS 样式,实现 label 的点击事件。例如,可以在返回的字符串中添加一个 a 标签,并设置其 href 属性,实现跳转到指定页面:
```
formatter: function(params) {
return '<a href="https://www.example.com" target="_blank">' + params.name + '</a>\n{b|' + params.value + '}';
},
rich: {
b: {
...
}
}
```
3. 通过 ECharts 实例的 on 方法,绑定饼图的 click 事件,例如:
```
myChart.on('click', function(params) {
if (params.dataIndex !== undefined) { // 点击了饼图扇形区域
console.log(params.data.name); // 输出饼图扇形区域的名称
} else if (params.seriesIndex === 0 && params.componentType === 'series') { // 点击了饼图的 label
console.log(params.value); // 输出饼图扇形区域的值
}
});
```
这样,当用户点击 label 文字时,会在控制台输出饼图扇形区域的值。如果要实现跳转到指定页面的功能,可以在 on 方法中设置 window.location.href 属性。
阅读全文