对于一个以前在项目中从未使用过Echart的萌新来说,从一开始写就遇坑无数,接触各种Echart图表以来,遇坑填坑,下面可以听我细数一下这些,以记忆,如果能帮到你们的话,那就是再好不过了。
1.从获取数据开始,大家知道各种Echart都是自带他专属的格式的。万变不离其宗,其中都是要依赖于data ,通过ajax请求到数据后,转换成图表专属data格式就可以使用了。
2.其次就是loading界面,在数据获取前,预加载的一个动作,Echart是有一个方法可以调用的,但这里面有个小坑:loading代码不能放在hideLoading方法一块,否则loading是会失效的。我选择放在数据加载前(需要取到图表层的id哦)。
3.如果是返回数据有值的话,一切安好,如果返回数据没值的话,Echart3不支持noDataLoadingOption了!需要我们重新绘制canvas,或者更方便的方法,覆盖一个暂无数据层在上面,解决~
4.关于Echart地图,说是最为复杂的Echart图表应该也不冤枉,目前接触的也只是浅层的区域赋值和地图缩进(可以点击省份市级进去)。如果想给地图块增加动态返回的标志属性的话,可以在第一个data块增加上去,然后区域触发点击或hover时在param里面取出来。还有就是地图区域文字不居中的问题,查了蛮久的,因为我是用的中国及所有省份市级等的json地图,然后又是Echart3不匹配导致的...Echart3建议使用百度地图,而我的json地图是Echart2的,心塞塞,只能后续换底版地图了。
举的这个地图例子实现的功能有:地图缩进,文件夹式的地图链接,可通过链接实现地图切换。
//Echart地图 请求相关数据
areaData(1);
function areaData(areaName){
var data;
if(areaName == 1){
data = '';
}else{
data = {
areaPath:areaName
}
}
$.ajax({
type: