echarts环形图 点击圆环中间显示对应数据
时间: 2023-09-23 11:13:08 浏览: 239
要在 Echarts 环形图中点击圆环时在中间显示对应数据,可以通过在 `series` 中设置 `label` 和 `emphasis` 属性来实现。
以下是一个示例代码,可以将其放入 HTML 页面中查看效果:
```html
<div id="chart" style="width: 600px; height: 400px;"></div>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.1/echarts.min.js"></script>
<script>
// 初始化 Echarts 实例
var myChart = echarts.init(document.getElementById('chart'));
// 设置饼图的类型为环形图
var option = {
title: {
text: '环形图示例',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
data: ['数据1', '数据2', '数据3', '数据4', '数据5']
},
series: [
{
name: '数据名称',
type: 'pie',
radius: ['40%', '60%'],
avoidLabelOverlap: false,
label: {
show: true,
position: 'center',
formatter: function(params) {
if (params.data) {
return params.data.name + '\n' + params.data.value;
} else {
return '';
}
},
fontSize: '24',
fontWeight: 'bold'
},
emphasis: {
label: {
show: true,
formatter: '{b}:{c} ({d}%)',
fontSize: '14',
fontWeight: 'normal'
}
},
labelLine: {
show: false
},
data: [
{value: 335, name: '数据1'},
{value: 310, name: '数据2'},
{value: 234, name: '数据3'},
{value: 135, name: '数据4'},
{value: 1548, name: '数据5'}
]
}
]
};
// 绑定点击事件
myChart.on('click', function(params) {
if (params.data) {
myChart.setOption({
series: [{
label: {
show: true,
formatter: '{c}',
fontSize: '24',
fontWeight: 'bold'
},
data: [params.data]
}]
});
}
});
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
```
在上面的示例代码中,我们在 `series` 中设置了 `label` 和 `emphasis` 属性,用于在中间和环上显示数据。我们还绑定了 `click` 事件,当点击圆环时,将对应的数据设置到 `series` 中并显示在中间。
在点击事件中,我们可以通过 `params.data` 获取到点击的数据,然后将其设置到 `series` 中并更新图表。在更新图表时,我们只需要更新 `series` 中的 `data` 属性,并将其设置为一个只包含点击的数据的数组即可。
通过这种方式,我们可以在点击圆环时,在中间显示对应的数据,以满足具体的展示需求。
阅读全文