使用echarts多个饼图时,遇到的bug

在这里插入图片描述
点击武定后
在这里插入图片描述

当第二次加载的数据覆盖等量的第一次的数据时,第一次加载多余的数据不会丢失,还会展示在图上。console输出echarts中的option的数据legend和series数据均为正常第二次加载的数据,数据已更新,也触发了echarts的渲染。
解决办法:

this.charts.setOption(option);
应为this.charts.setOption(option,true);

setOption有3个属性setOption(option,notMerge,lazyUpdate);第二个notMerge默认为false,即默认合并两个数据,置为true之后则不合并数据

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果你想要实现echarts多个饼图轮播的效果,可以使用setInterval()函数和echarts的API实现。具体步骤如下: 1. 首先创建一个包含多个饼图数据的数组,每个饼图数据包含饼图的名称、数据等信息。 2. 创建一个echarts实例,并设置好饼图的基本配置,例如:title、tooltip、legend等。 3. 创建一个函数,用于更新饼图的数据和option配置。在该函数内部,使用echarts提供的setOption()函数更新数据和配置。 4. 使用setInterval()函数定调用上述函数,实现饼图轮播的效果。为了更好的体验,建议在饼图之间添加一个过渡动画效果。 下面是一个简单的实现示例代码: ```javascript var pieData = [{name: 'pie1', data: [...]}, {name: 'pie2', data: [...]}, {name: 'pie3', data: [...]}, ...]; var currentIndex = 0; var chart = echarts.init(document.getElementById('chart')); function updateChart() { currentIndex = (currentIndex + 1) % pieData.length; var pie = pieData[currentIndex]; var option = { title: {text: pie.name}, series: [{ type: 'pie', data: pie.data }] }; chart.setOption(option, true); } setInterval(updateChart, 3000); ``` 在上述代码中,我们定义了一个包含多个饼图数据的数组pieData,然后创建了一个echarts实例chart,并设置好基本配置。接着定义了一个updateChart函数,用于更新饼图数据和option配置。最后使用setInterval()函数每隔3秒调用一次updateChart函数,实现饼图轮播的效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值