Echarts与后台(SSM) 数据交互

一、Echarts 是什么?

在说 Echarts 是什么之前,先来看看我们常看到的数据图形:

  

 

 

这就是 Echarts 搞出来的,通俗一点来说,Echarts 就是可视化图形界面,获取到后台的数据,通过图形的形式形象化的展现在你的面前。 相对于死板的数据字符串,清晰的图形分析简直好到不能再好。

当后台管理系统有一定的数据量后,我们可能需要对这些数据进行统计、分析,提炼出更多有用的信息,而为了使这些冰冷的数据显得更平易近人,更直观的传达信息,我们可以使用图表来将数据表达出来,实现数据可视化。Echarts框架就可以让我们快速的构建出图表来展示数据

 

 

二、Echarts 与后台交互呈现数据:

关于 Echarts 的详细介绍,可以到 Echarts官网 进行详细的研究,这篇文章的重点是实现与后台的交互,不与后台交互,数据都是模拟的假数据,作为一个资(jia)(de)的全栈,掌握一些基础的前后台交互还是很有必要的。

 

梳理需求

  1. 要干嘛——统计这一年的订单每个月信息
  2. 要知道什么——订单数量订单金额
  3. 什么图表合适——看个人,折线图比较好观察订单每个月数量和对应的金额
  4. 选择的图表需要什么数据——订单数量订单金额,还有日期

 

1.第一步先下载一个echarts插件,
下载地址:http://echarts.baidu.com/

2.第二步

下载之后就是一个js文件,

把它放到你创建的文件夹里面

然后再引入进你写的html里面

3.控制器

 

@RequestMapping(value="getAllTwo",produces="application/json;charset=utf-8")    public @ResponseBody List countsellnum(){

    List<Orderform> countsellnum = OrdService.getAll();

    return countsellnum;

}

三、画图表

在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器,再初始化图表,ajax请求数据,显示在图表中

<div id="main1" class="layui-col-sm12" style="height: 300px;"></div>

 

<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例

var myChart = echarts.init(document.getElementById('main1'));

// 指定图表的配置项和数据

var option = {

   title: {

        text: '订单信息'

    },

    grid: {

        top: '15%',

        right: '1%',

        left: '1%',

        bottom: '10%',

        containLabel: true

    },

    tooltip: {

        trigger: 'axis'

    },

    legend: {

        data:['订单数量','订单金额']

    },

    xAxis: {

        type: 'category',

        data: ['2020.06','2020.07','2020.08','2020.09','2020.10','2020.11','2020.12']

    },

    yAxis: {

        type: 'value'

    },

    series: [

        {

             name:'订单数量',

             type:'line',

             stack: '总量',

             data:[0, 300, 340, 420, 500, 530, 800]

         },

         {

             name:'订单金额',

             type:'line',

             stack: '总量',

             data:[0, 10000000, 10500000, 15040000, 30000000, 30300000, 250000000]

         },

    ]

};





// 在数据为动态加载之前建筑loading动画

myChart.showLoading();



// 对数据进行重写,变成动态数据



var maxScores=[];

var minScores=[];

var sNames=[];



$.ajax({

    type:"post",

    async:true,

    url:"infController/getAllTwo",

    data:{},

    dataType:"json",

    // 回调函数

    success:function (result) {

        if(result != null && result.length > 0) {

            for(let i = 0; i <result.length; i ++) {

                maxScores.push(result[i].orderformid);

                minScores.push(result[i].orderformmoney);

                sNames.push(result[i].orderformtime);

            }

            // 隐藏加载动画

            myChart.hideLoading();



            // 重新载入 Option

            myChart.setOption({

                xAxis:{

                    data:sNames    // 重写 x 轴

                },

                series:[

                    {

                        name:'订单数量',

                        data:maxScores

                    },

                    {

                        name:'订单金额',

                        data:minScores

                    }

                ]

            })

        }

    }

})

// 使用刚指定的配置项和数据显示图表。

myChart.setOption(option);

后台传过来的 json 数据才是图形的关键

 

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
SSM是指Spring+SpringMVC+MyBatis三个框架的整合,而Echarts是一款非常流行的数据可视化库,可以将数据转化为可视化的图表展示。 要实现SSM整合Echarts,需要以下步骤: 1. 引入Echarts的相关依赖,可以在Maven中添加以下依赖: ``` <dependency> <groupId>com.github.abel533</groupId> <artifactId>echarts</artifactId> <version>4.8.0-rc1</version> </dependency> ``` 2. 在SpringMVC中配置Echarts的视图解析器,可以在springmvc-servlet.xml中添加以下配置: ``` <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="com.github.abel533.echarts.view.EchartsView"/> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean> ``` 3. 在Controller中处理数据,并将数据传递给Echarts视图解析器,例如: ``` @RequestMapping("/echarts") public ModelAndView echarts() { List<Map<String, Object>> data = new ArrayList<>(); Map<String, Object> map1 = new HashMap<>(); map1.put("name", "数据1"); map1.put("value", 100); data.add(map1); Map<String, Object> map2 = new HashMap<>(); map2.put("name", "数据2"); map2.put("value", 200); data.add(map2); ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("data", data); modelAndView.setViewName("echarts"); return modelAndView; } ``` 4. 在JSP中使用Echarts标签库生成图表,例如: ``` <%@ taglib prefix="echarts" uri="http://echarts.baidu.com/echarts2/doc/option.html" %> <html> <head> <title>Echarts Demo</title> <script type="text/javascript" src="${pageContext.request.contextPath}/js/echarts.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> <echarts:line id="main" title="数据展示" width="600" height="400" theme="macarons"> <echarts:tooltip show="true"/> <echarts:legend data="['数据1','数据2']"/> <echarts:xAxis type="category" data="['周一','周二','周三','周四','周五','周六','周日']"/> <echarts:yAxis type="value"/> <echarts:series name="数据1" type="bar" data="${data}"/> <echarts:series name="数据2" type="bar" data="${data}"/> </echarts:line> </body> </html> ``` 以上就是SSM整合Echarts实现数据可视化的基本步骤。需要注意的是,在实际应用中,需要根据具体需求调整配置和代码实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值