echarts 数据重新加载,原数据依然存在图表上

wenlongkan 2015-09-22 02:18:53
利用AJAX加载数据以后,页面有一个搜索按钮,选择条件点击搜索,重新给xAxis.data和series.data重新赋值 然后myChar.SetOption(option) ,为什么原来的数据还在图表上? 怎么去掉原来的数据?
if (data != null && data != "" && data != undefined) {
var json_list = eval('(' + data + ')');
var douhao = null;
var signedDate = "";
var count = "";
for (i = 0; i < json_list.length; i++) {
if (i != json_list.length - 1) {
douhao = ",";
} else {
douhao = "";
}
signedDate += json_list[i].SignedDate + douhao;
count += json_list[i].Count + douhao;
}

$("#div_show_list").html(html);
var obj = signedDate.split(',');
var mon = count.split(',');
alert(obj + "," + mon);
option.xAxis[0].data = obj;
option.series[0].data = mon;
barChart.hideLoading();
barChart.setOption(option);
}
这是AJAX里面的一段代码,这段代码就是重新给myChar赋值.
...全文
56731 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1
原因:barChart.setOption(option,notMerge,lazyUpdate);

option:图表的配置项和数据

notMerge:可选,是否不跟之前设置的option进行合并,默认为false,即合并。(这里是导致二次渲染不成功的根本)

lazyUpdate:可选,在设置完option后是否不立即更新图表,默认为false,即立即更新。
---------------------
作者:有时间织个毛衣
来源:CSDN
原文:https://blog.csdn.net/chenjin_chenjin/article/details/82018156
别问,30K 2019-01-29
  • 打赏
  • 举报
回复
兄弟,我想要做一个不重新加载的,继续追加的,能不能把你的代码发下
qq_42279827 2019-01-16
  • 打赏
  • 举报
回复
我是用ajax发请求获取数据的,用clear和true都不行我用了
lunafeifei99 2018-07-10
  • 打赏
  • 举报
回复
dateChart.setOption({
series : {
data:countByDate
}
});
直接这样设置就好了,亲测有效,不需要clear之类的
xuhui54 2018-06-25
  • 打赏
  • 举报
回复
用clear() 和 true都不行,用resize() 就可以。
minoz-糖果 2018-01-25
  • 打赏
  • 举报
回复
大家可以试试,先把数组赋值为空,再赋值
escapeCn 2018-01-22
  • 打赏
  • 举报
回复
不行啊,加了true还是不可以,怎么办啊,搞了5天了
15283506183 2017-11-20
  • 打赏
  • 举报
回复
引用 1 楼 cheery_an 的回复:
文档里面有说:barChart.setOption(option, true); 就可以了 “万能接口,配置图表实例任何可配置选项(详见option),多次调用时option选项默认是合并(merge)的”
感谢! 我遇到用力引导图每次生成坐标都不同的问题,也是用这个就可以了,true表示不合并配置,感谢!困扰了我好几天了!专门激活账号来回复
程序员lm 2017-11-13
  • 打赏
  • 举报
回复
求问,楼主最后怎么解决的
20150808 2017-08-03
  • 打赏
  • 举报
回复
这个ie8浏览器中的echarts重新加载的问题解决了吗?
yu4495730 2017-04-16
  • 打赏
  • 举报
回复
请问楼主解决了么,我遇到的情况与你一摸一样,用clear() 和 true都不行啊,历史数据还是在图上, 求解决办法
dotnet全栈开发 2017-01-22
  • 打赏
  • 举报
回复
多次加载option默认是合并的,设置option按照文档上说后面加个true就ok ,mychart.setOption(option,true),echarts异步数据加载(在下拉框选择事件中异步更新数据)原文地址:http://blog.csdn.net/kebi007/article/details/54663620
qufeiwen4132 2016-11-24
  • 打赏
  • 举报
回复
我用barChart.setOption(option, true); 为什么数据还在上面啊。。。
Pitter_Patter_Bee 2016-11-22
  • 打赏
  • 举报
回复
我用barChart.setOption(option, true); 成功了~好高兴
QCP191218 2016-10-12
  • 打赏
  • 举报
回复
你的问题解决了吗?我也正研究这个问题呢
qq_34313246 2016-09-29
  • 打赏
  • 举报
回复
请教一个问题,Ajax加载,我ECharts重新加载之后,鼠标移动时,原来的图又出来了,请问怎么解决,:barChart.setOption(option, true); 和:barChart.clear();都用过了还是不行.
cheery_an 2015-09-22
  • 打赏
  • 举报
回复
文档里面有说:barChart.setOption(option, true); 就可以了 “万能接口,配置图表实例任何可配置选项(详见option),多次调用时option选项默认是合并(merge)的”

87,964

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧