Echart 用Ajax更新数据后,setOption,之前多余的数据在图表上没有被刷新掉。

tcoe 发布于 2015/10/31 17:19
阅读 3K+
收藏 0
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了,咋能让图表刷新呢,把之前的残余数据不显示出来?跪求高人

$.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();
                                }
                        }
                });




加载中
0
weihuai
weihuai
你只需要把 控件重新初始化一下就搞定了
t
tcoe
function (ec) { var thirdChartId = document.getElementById('thirdChartId'); thirdEchart = ec.init(thirdChartId); 。。。。。。。。。。。。 这是页面初始化的,我貌似没法再重初始化,求教如何再初始化
0
weihuai
weihuai

引用来自“weihuai”的评论

你只需要把 控件重新初始化一下就搞定了

你的想法应该是 不显示上一次的那些数据对吧。只需要按照下面这个方式重新调用就可以了啊。

 var thirdChartId = document.getElementById('thirdChartId'); 

thirdEchart = ec.init(thirdChartId);

ec.setOption();

0
t
tcoe

测试成功:你只需要把 控件重新初始化一下就搞定了

供后来的同志们参考!

0
DimonHo
DimonHo

myChart.setOption({},true); 就可以了

返回顶部
顶部