echarts画图需要每隔5秒定时刷新,怎样消除之前画的图?
实现一个图表,用echarts画好了,但需要每隔5秒刷新数据生成新的图标
html:
<div class="chartContent">
<div id="multiple"></div>
</div>
JS:
var echart={
arrPrice:[],
arrRate:[],
time:[]
};
//***我用了一个getData()来通过ajax实现获取实时数据;***
function getData(){
$.ajax({
url:'mod.json',
type:'post',
async:true,
data:'',
dataType:'json',
success:function(data){
for(i in data.result){
echart.arrPrice.push(data.result[i].price);
echart.arrRate.push(data.result[i].rise);
echart.time.push(data.result[i].time);
}
drawChart();
},
error:function(){
console.log('error')
}
});
}
**//drawChart()y用来实现echarts画图;**
function drawChart(){
var dom = document.getElementById("multiple");
var myChart = echarts.init(dom);
option = {
xxx
}
]
};
if (option && typeof option === "object") {
myChart.setOption(option, true);
}
}
然后window.setInterval(function(){
//getData()
},3000);
来实现5秒定时刷新
希望得到每5秒图表重绘,但现在结果是这样的:
初始:
5秒后:
10秒后:
我尝试每次重绘前移除“#multiple”重新插入这个div也是同样的效果.所以应该怎样清除之前绘制的图表?
请各位前辈大神看一下问题是出在哪里?小妹谢过~【抱拳】
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
问题出在这儿,你每次请求数据完成后,绘制图表前都需要把上一次的的数据清空。
echart.arrPrice = [];
echart.arrRate = [];
echart.time = [];
楼主应该先搞清楚Array的push方法是做什么用的。你的需求是清空而不是追加。
每隔5秒重新绑定数据
你读没清空就直接push了,数据越来越多了
请问解决了吗?我感觉应该是把echarts清空之后再绘制,但是我现在也出现没有清空的问题