有个需求:动态请求数据并渲染,百度之后看文档由于时间紧没细看,在百度找了篇文章参考解决。https://segmentfault.com/q/1010000012349753
我的是柱状图,xDate和yDate是横轴和纵轴的数据。
在往option中push值得时候注意:
之前我是这样操作的:
option.series[0].data.push(result[res]["name"]);
option.xAxis[0].data.push(result[res]["name"]);
总之就是直接赋值操作,当我再次去请求数据再赋值时候会把之前的数据带进来,和需求不符。
解决:先把后台的值给xDate,yDate;再赋值给option,然后清空,代码如下:
var xDate=[];
var yDate=[];
for(var res in result){
//number+=result[res]["count"];
xDate.push(result[res]["name"]);
yDate.push(result[res]["num"]);
}
debugger;
option.series[0].data=yDate;
option.xAxis[0].data=xDate;
xDate=[];
yDate=[];
myChart.setOption(option,true);
请容许我解释:result是后台传回的数据,xDate和yDate是两个数组用来接收数据最后清空,这样就达到了效果。
对了还有一点,在option大括号里面的data[]严格这样写。
希望对大家有帮助。