echarts饼图动态变化动画
时间: 2023-09-07 09:17:14 浏览: 68
要让echarts饼图实现动态变化动画,可以使用echarts提供的setOption方法来更新数据,然后通过动画效果来呈现数据变化的效果。下面是一个简单的例子:
```javascript
// 初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 初始数据
var data = [
{value: 335, name: '直接访问'},
{value: 310, name: '邮件营销'},
{value: 234, name: '联盟广告'},
{value: 135, name: '视频广告'},
{value: 1548, name: '搜索引擎'}
];
// 配置项
var option = {
title: {
text: '访问来源',
subtext: '纯属虚构',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎']
},
series: [
{
name: '访问来源',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
label: {
show: false,
position: 'center'
},
data: data,
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 动态更新数据
setInterval(function () {
data.forEach(function (item) {
item.value = Math.round(Math.random() * 1000);
});
myChart.setOption({
series: [{
data: data
}]
});
}, 2000); // 每隔2秒更新一次数据
```
在这个例子中,我们首先通过初始化echarts实例和配置项来显示初始的饼图。然后使用setInterval函数来定时更新数据,每隔2秒就更新一次数据。在每次数据更新后,我们使用setOption方法来将新数据应用到饼图中,并使用动画效果呈现数据变化的效果。