在前面已经说到过关于Echarts请求json数据处理:
【前端统计图】echart折线图ajax请求json数据:
https://www.jianshu.com/p/9e5c7e2cff05
今天写第二种json格式,后面遇到会继续补充:
先看一下json数据格式:
[
{
"doneNum": 130,
"date": "2019-01"
}, {
"doneNum": 80,
"date": "2019-02"
}, {
"doneNum": 90,
"date": "2019-03"
}, {
"doneNum": 110,
"date": "2019-04"
}, {
"doneNum": 60,
"date": "2019-05"
}, {
"doneNum": 70,
"date": "2019-06"
}, {
"doneNum": 120,
"date": "2019-07"
}, {
"doneNum": 80,
"date": "2019-08"
}, {
"doneNum": 83,
"date": "2019-09"
}, {
"doneNum": 84,
"date": "2019-10"
}, {
"doneNum": 105,
"date": "2019-11"
}, {
"doneNum": 52,
"date": "2019-12"
}
]
对于后端传过来的这种类型的json数据,前端需要做一些处理。
步骤说明:
1:为x轴和y轴分别定义一个数组:类别数组(实际用来盛放X轴,y轴坐标值)
var names = []; //类别数组(实际用来盛放X轴坐标值)
var series = [];
2:在ajax请求成功之后,在success
的方法里面对请求的json数据进行处理,首先要遍历一下data数据(请求成功时执行该函数内容,data即为服务器返回的json对象),对数据进行遍历并且挨个取出类别并填入上一步已经定义好的类别数组里面。
$.each(data, function (index, item) {
names.push(item.date); //挨个取出类别并填入类别数组
series.push(item.doneNum);
});
3:进入到echarts的代码,找到x轴和y轴所在的位置,将第一步的类别数组替换:
xAxis: [{
type: 'category',
data: names
}],
series: [{
name: '心率',
type: 'line',
data: series
}]
这种json数据的处理方式和以下写法是相类似的:Echarts饼状图交互数据:https://www.jianshu.com/p/7124385eebbd,可以参考一下:
下面是完整的demo代码:
效果如下所示:
原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1
90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的程序媛一枚。
欢迎关注【编程微刊】公众号,回复【领取资源】,500G编程学习资源干货免费送。