前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Echarts请求不同格式的json数据处理

Echarts请求不同格式的json数据处理

作者头像
王小婷
发布于 2025-05-19 06:01:16
发布于 2025-05-19 06:01:16
7200
代码可运行
举报
文章被收录于专栏:编程微刊编程微刊
运行总次数:0
代码可运行

在前面已经说到过关于Echarts请求json数据处理:

【前端统计图】echart折线图ajax请求json数据:

https://cloud.tencent.com/developer/article/1464486

今天写第二种json格式,后面遇到会继续补充:

先看一下json数据格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[
    {
        "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轴坐标值)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var names = [];    //类别数组(实际用来盛放X轴坐标值)    
var series = [];

2:在ajax请求成功之后,在success的方法里面对请求的json数据进行处理,首先要遍历一下data数据(请求成功时执行该函数内容,data即为服务器返回的json对象),对数据进行遍历并且挨个取出类别并填入上一步已经定义好的类别数组里面。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $.each(data, function (index, item) {
                names.push(item.date);    //挨个取出类别并填入类别数组
                series.push(item.doneNum);
            });

3:进入到echarts的代码,找到x轴和y轴所在的位置,将第一步的类别数组替换:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xAxis: [{
type: 'category',
 data: names
}],
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
series: [{
name: '心率',
 type: 'line',
 data: series
}]

这种json数据的处理方式和以下写法是相类似的:Echarts饼状图交互数据:https://cloud.tencent.com/developer/article/1512737,可以参考一下:

下面是完整的demo代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
        <script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts.min.js" type="text/javascript"></script>
    </head>
    <body>
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
        <div id="main" class="col-md-12  col-sm-12 col-xs-12" style="height: 400px;"></div>
        <script>
            // 折线图
             var names = [];    //类别数组(实际用来盛放X轴坐标值)    
             var series = [];
            $.ajax({
                url: "test.json",
                data: {},
                type: 'GET',
                success: function(data) {
                    
             //请求成功时执行该函数内容,data即为服务器返回的json对象           
            $.each(data, function (index, item) {
                names.push(item.date);    //挨个取出类别并填入类别数组
                series.push(item.doneNum);
            });
            
            console.log(JSON.stringify(data))
            hrFun(data);

                },
            });
            // 心率
            var hrChart = echarts.init(document.getElementById("main"));
            function hrFun(data) {
                hrChart.setOption({
                    color: ['#3398DB'],
                    tooltip: {
                        trigger: 'axis',
                        axisPointer: { // 坐标轴指示器,坐标轴触发有效
                            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
                        }
                    },
                    legend: {
                        data: ['心率值']
                    },
                    grid: {
                        left: '3%',
                        right: '20%',
                        bottom: '20%',
                        containLabel: true
                    },
                    xAxis: [{
                        type: 'category',
                        data: names
                    }],
                    yAxis: [{ // 纵轴标尺固定
                        type: 'value',
                        scale: true,
                        name: '心率值',
                        max: 140,
                        min: 0,
                        splitNumber: 20,
                        boundaryGap: [0.2, 0.2]
                    }],
                    series: [{
                        name: '心率',
                        type: 'line',
                        data: series
                    }]
                }, true);
            }
        </script>
    </body>
</html>

效果如下所示:

5640239-9bc58a3dc06127d1.png
5640239-9bc58a3dc06127d1.png

原文作者:祈澈姑娘 技术博客:https://www.jianshu.com/u/05f416aefbe1 90后前端妹子,爱编程,爱运营,文艺与代码齐飞,魅力与智慧共存的程序媛一枚。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Echarts请求不同格式的json数据处理
在前面已经说到过关于Echarts请求json数据处理: 【前端统计图】echart折线图ajax请求json数据: https://www.jianshu.com/p/9e5c7e2cff05
王小婷
2019/10/15
3.2K0
Echarts请求不同格式的json数据处理
ECharts折线图渲染json格式数据(格式为数组)
ECharts折线图渲染json格式数据(json格式,为数组) 需要对数组进行循环取值,将取到的值分别赋值给x轴和y轴
王小婷
2021/04/09
3.3K0
ECharts折线图渲染json格式数据(格式为数组)
ECharts多图表与后台交互
ECharts多图表与后台交互 多图表交互目前暂时的想法是多绑定一个DOM 1、效果: 2、test2.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--引入Echarts文件--> <script src="js/echarts.min.js"></script> <script src="js/jquery-3.4.1.mi
别团等shy哥发育
2023/02/25
1K0
ECharts多图表与后台交互
Echarts饼状图交互数据
前面写到一个关于Echarts饼状图交互数据的例子,但是当时name是写死的,现在的value和name都是需要从后端获取,然后渲染在界面,大致的json数据是这样的: 模拟一个json格式的数据:
王小婷
2019/09/25
2.2K0
Echarts饼状图交互数据
Echarts+ajax实现一个简单折线图
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts.min.js" ty
王小婷
2020/12/08
1.3K0
Echarts隐藏背景的网格线
网格线未处理之前,默认是这样的,这个背景的网格线,我们现在如果不需要,就去掉吧。 Echarts隐藏背景的网格线属性 yAxis: { splitLine: {show: false}, }, 示例代
王小婷
2021/04/09
1.6K0
Echarts隐藏背景的网格线
【前端统计图】echart折线图ajax请求json数据
先上图,写了一个echart折线图ajax请求json数据的小demo,帮助自己更好的理解图表知识。
王小婷
2019/07/16
1.4K0
【前端统计图】echart折线图ajax请求json数据
ECharts与Excel的火花
ECharts和Excel作为两种广泛使用的数据处理和可视化工具,各自拥有其独特的魅力和功能。
绿毛龟
2024/01/19
4750
ECharts与Excel的火花
ECharts与java后台交互绘制图表
为了方便,这里就不用SSM框架的Controller查数据库了,自己造几个数据传到前台,测试效果和查数据库是一样的
别团等shy哥发育
2023/02/25
8020
ECharts与java后台交互绘制图表
SpringBoot 2.xECharts+AJAX实现异步数据加载
1、JavaBean package cn.hadron.eba.bean; import java.io.Serializable; public class UserBean implements Serializable{ private String username; private Double salary; public UserBean(){} public UserBean(String username,Double salary){
程裕强
2019/05/27
8390
Echarts统计图自适应
之前做折线图的时候,y轴数据都是写成固定了的,如果是统计步数的话,y轴坐标就要根据走了多少步来自适应了,如果没写的话,就会出现以下的这种情况,折线超出了整个坐标抽,就是一个bug了,只要修改一下属性即可,今天写一下Echarts统计图自适应。
王小婷
2019/11/27
1K0
Echarts饼状图数据交互请求ajax自定义颜色
normal : { color : function(params) { //自定义颜色 var colorList = [ '#2059be', '#198577', '#a8674e' ]; return colorList[params.dataIndex] } } 示例: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="http
王小婷
2019/11/27
8030
ajax+json实现echarts多个统计图显示
前端时常会遇到这样的问题,有一个单独的模块用作统计图,将多个折线或者柱状图,混合使用,下面的例子是用ajax+json模拟了调用接口实现echarts多个统计图显示。 样式布局暂时就不放在上面了,以下是从项目里面复制过来的一个小的demo,代码仅供参考。
王小婷
2025/05/19
940
Echarts饼状图大小及其位置调整
饼状图大小 radius: '45%', center: ['50%', '35%'], 图例的位置 legend: { orient: 'vertical', /* x: 'left', y: 'top', */ textStyle: { //图例文字的样式 c
王小婷
2020/04/10
7.1K0
Echarts饼状图大小及其位置调整
Echarts设置背景的网格线为虚线
用Echarts写了一个折线图之后,现在不太喜欢背景网格线的实线 需要改成虚线 Echarts设置背景的网格线为虚线的关键属性 yAxis: { splitLine: {
王小婷
2021/04/09
4.3K0
Echarts设置背景的网格线为虚线
Echarts的饼状图变成环形图
首先实现一个饼状图 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/ec
王小婷
2020/11/24
1.8K0
Echarts的饼状图变成环形图
Echarts与SSM框架交互
Echarts与SSM框架交互 1、实现效果: 数据库表结构 名 类型 注释 id varchar 宿舍分配编号 alreadyNumber int 已住人数 allNumber int 可住人数 status varchar 是否住满 sex varchar 男生/女生宿舍 2、前端代码: <!--宿舍分配情况可视化--> <div class="col-sm-12"> <div class="ibox-content"> <
别团等shy哥发育
2023/02/25
4660
Echarts与SSM框架交互
Echarts饼图之-玫瑰图数据交互
文档: https://echarts.apache.org/examples/zh/index.html#chart-type-pie
王小婷
2021/07/08
1.3K0
ECharts加载json数据解决方案
json数据 https://echarts.baidu.com/examples/data/asset/data/aqi-beijing.json
王小婷
2019/05/07
5.3K1
ECharts加载json数据解决方案
Echarts饼图实现颜色渐变
主要代码: normal: { color: function(params) { var colorList = [ { c1: ' #fce5ca', //管理
王小婷
2019/11/27
6.7K0
相关推荐
Echarts请求不同格式的json数据处理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验