循环拼凑echarts数据series,在折线图中显示

刚开始接触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里面对应的地方就好了-_-...

我是大学里自学的编程,出来找了一份程序员的工作,现在刚开始工作,这是我遇到的第一个难题,拿出来和大家分享,哈哈。。。

不足的地方欢迎评论指正,我们共同进步!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值