Echart 用Ajax更新数据后,setOption,之前多余的数据在图表上没有被刷新掉。
Echart 用Ajax更新数据后,setOption,之前多余的数据在图表上没有被刷新掉。
比如说:第一次图表上显示了,如下数据
{"series0data":[3,3,3,4,1],"xAxis0data":["2014年 Q1","2014年 Q2","2014年 Q3","2014年 Q4","2015年 Q1"]}
第二次,我更新搜索条件后,用ajax访问,现在数据变成了,如下
{"series0data":[13,1],"xAxis0data":["2014年","2015年"]}
结果:第二次的数据被显示出来的,但是还残余第一次的数据在图表上,搞了好久没好用,心都碎了
残留数据的报表图如下,求高人指点
问题:数据更新后,也setOption了,咋能让图表刷新呢,把之前的残余数据不显示出来?跪求高人
比如说:第一次图表上显示了,如下数据
{"series0data":[3,3,3,4,1],"xAxis0data":["2014年 Q1","2014年 Q2","2014年 Q3","2014年 Q4","2015年 Q1"]}
第二次,我更新搜索条件后,用ajax访问,现在数据变成了,如下
{"series0data":[13,1],"xAxis0data":["2014年","2015年"]}
结果:第二次的数据被显示出来的,但是还残余第一次的数据在图表上,搞了好久没好用,心都碎了
残留数据的报表图如下,求高人指点
问题:数据更新后,也setOption了,咋能让图表刷新呢,把之前的残余数据不显示出来?跪求高人
$.ajax({ type : "POST", url : url3, dataType : "json", data: content3, contentType: "application/json", async : true, success : function(msg) { if(msg.ordered_series0data != ''){ thirdOption.series[0].data =msg.ordered_series0data; thirdOption.xAxis[0].data =msg.ordered_xAxis0data; thirdOption.series[1].data =msg.saled_series0data; //thirdOption.xAxis[1].data =msg.saled_xAxis0data; thirdEchart.setOption(thirdOption); thirdEchart.hideLoading(); $("#noDataId").hide(); $("#chart_2_id").show(); }else{ $("#noDataId").show(); $("#chart_2_id").hide(); } } });
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
https://www.cnblogs.com/veritas-sj/p/6479409.html 这个帮到你
写在myChart.setOption(option);前
myChart.setOption({},true); 就可以了
测试成功:你只需要把 控件重新初始化一下就搞定了
供后来的同志们参考!
引用来自“weihuai”的评论
你只需要把 控件重新初始化一下就搞定了
function (ec) { var thirdChartId = document.getElementById('thirdChartId'); thirdEchart = ec.init(thirdChartId); 。。。。。。。。。。。。 这是页面初始化的,我貌似没法再重初始化,求教如何再初始化
你只需要把 控件重新初始化一下就搞定了