echarts圆环 emphasis里的label和默认的label重叠在一起了,想hover上去时默认的就不显示,不hover时,就展示默认的
时间: 2024-03-18 22:38:35 浏览: 258
你可以通过监听 `mouseover` 和 `mouseout` 事件来动态设置是否展示默认的 label。当鼠标悬浮在圆环上时,隐藏默认的 label,只显示 emphasis 下的 label;鼠标移开时,显示默认的 label。
示例代码:
```js
let chart = echarts.init(document.getElementById('chart'));
let showDefaultLabel = true;
chart.on('mouseover', function(params) {
showDefaultLabel = false;
chart.setOption({
series: [{
label: {
show: false
},
emphasis: {
label: {
show: true
}
}
}]
});
});
chart.on('mouseout', function(params) {
showDefaultLabel = true;
chart.setOption({
series: [{
label: {
show: showDefaultLabel
},
emphasis: {
label: {
show: false
}
}
}]
});
});
chart.setOption({
series: [{
type: 'pie',
data: [{value: 335, name: '直接访问'}, {value: 310, name: '邮件营销'}, {value: 234, name: '联盟广告'}, {value: 135, name: '视频广告'}, {value: 1548, name: '搜索引擎'}],
label: {
show: showDefaultLabel
},
emphasis: {
label: {
show: false
}
}
}]
});
```
在上面的代码中,我们初始化了一个 echarts 实例,并监听了 `mouseover` 和 `mouseout` 事件。在 `mouseover` 事件中,我们将 `showDefaultLabel` 设置为 false,隐藏默认的 label,只显示 emphasis 下的 label。在 `mouseout` 事件中,我们将 `showDefaultLabel` 设置为 true,显示默认的 label,隐藏 emphasis 下的 label。在初始化 echarts 时,我们将 `showDefaultLabel` 作为 `label.show` 和 `emphasis.label.show` 的初始值。
阅读全文