刚开始接触echarts时,是根据官网的实例写的,在线编辑实例中的代码显示需要的内容。再将代码复制到项目中,很傻瓜。。。
后来写的多了,也知道了echarts中数据的格式,其实echarts图表就是用JSON写的,调用也很简单,直接引用官方的JS和CSS就能实现。
echarts官网代码链接:http://echarts.baidu.com/download.html 我这里下载的时源代码。
话不多说,上代码(折线图):
var sJson = "";//最后拼接好的内容放在里面,在series里面直接调用
var sGSMC = new Array();//存放legend里面的内容
var sDATE = new Array();//存放series里面的内容
var sDATA = new Array();//存放横坐标显示的内容
var sJsonTemp = "";//临时变量,在循环中拼接series
var sGSMCTemp = "";//临时变量,在循环中拼接series
var sGSMCTemp2 = "";//判断使用
if(monthGap == 1 && cxKJDW.length == 1){
//在外面放的这个判断时解决折线图一个点不显示的问题,按照else里面的写法,只适合多选显示内容
sJsonTemp = "name:'"+jsonobj[1].KJDW_JC+"',type:'line',smooth:true,data:[" + jsonobj[1].SOHZ_V018;//初始化series里面的第一条数据
for(var i = 2;i<jsonobj.length;i++){
sJsonTemp = sJsonTemp + ',' + jsonobj[i].SOHZ_V018;//循环取数
}
sJson =sJson + ',{' +sJsonTemp+']}';//符合JSON格式
}else{
//这里就是关键,其中的循环和条件判断大家应该嫩看明白,我就不废话了
sJsonTemp = "name:'"+jsonobj[1].KJDW_JC+"',type:'line',smooth:true,data:[" + jsonobj[1].SOHZ_V018;
sGSMCTemp = jsonobj[1].KJDW_JC;
sGSMCTemp2 = jsonobj[1].KJDW_JC;
sGSMC.push(jsonobj[1].KJDW_JC);
sDATE.push(jsonobj[1].SDATE);
for (var i = 2; i<=jsonobj.length-1;i++)
{
if (sGSMCTemp == jsonobj[i].KJDW_JC)
{
sJsonTemp = sJsonTemp + ',' + jsonobj[i].SOHZ_V018;
if (sGSMCTemp == sGSMCTemp2){
sDATE.push(jsonobj[i].SDATE);
}
}
else
{
sJson = sJson + ',{' +sJsonTemp+']}';
//sDATA.push('{' +sJsonTemp+']}');
sGSMC.push(jsonobj[i].KJDW_JC);
sGSMCTemp = jsonobj[i].KJDW_JC;
sJsonTemp = "name:'"+jsonobj[i].KJDW_JC+"',type:'line',smooth:true,data:[" + jsonobj[i].SOHZ_V018;
}
if(i == jsonobj.length-1){
sJson =sJson + ',{' +sJsonTemp+']}';
}
}
}
sJson = sJson.substring(1);
sDATA = eval("(["+sJson+"])");//解析JSON
接下来就是将上面拼出的内容放到echarts里面对应的地方就好了-_-...
我是大学里自学的编程,出来找了一份程序员的工作,现在刚开始工作,这是我遇到的第一个难题,拿出来和大家分享,哈哈。。。
不足的地方欢迎评论指正,我们共同进步!!!