echarts圆环 emphasis里的label和默认的label重叠在一起了,都在中间展示,想不移到legend上去时默认的就不显示,移到legend时,就展示默认的
时间: 2024-03-18 10:39:05 浏览: 13
可以通过设置 `emphasis.label.show` 属性控制 `emphasis` 状态下的 label 显示或隐藏。同时,可以通过设置 `legend.formatter` 属性来控制图例中显示的文本内容。
具体来说,可以在 `series` 中设置 `label` 和 `emphasis.label` 属性,示例如下:
```js
series: [{
type: 'pie',
data: [...],
label: {
show: true,
formatter: '{b}: {c}',
position: 'inside',
textStyle: {
color: '#fff',
fontSize: 14
}
},
emphasis: {
label: {
show: false // emphasis 状态下不显示 label
}
}
}]
```
然后,在 `legend` 中设置 `formatter` 属性,通过 `{a}` 和 `{b}` 分别获取系列名称和数据项名称,并根据 `a` 是否为 `'seriesName'` 决定显示哪个文本,示例如下:
```js
legend: {
formatter: function(params) {
if (params.a === 'seriesName') {
return params.seriesName;
} else {
return params.b + ': ' + params.value;
}
}
}
```
这样就可以实现将默认的 label 显示在图例中,同时在 `emphasis` 状态下不显示 label。同时,在移动鼠标到图例上时,显示默认的 label。