温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用SpringBoot+Echarts实现请求后台数据显示饼状图

发布时间:2021-09-14 23:12:48 来源:亿速云 阅读:266 作者:chen 栏目:编程语言

本篇内容主要讲解“怎么用SpringBoot+Echarts实现请求后台数据显示饼状图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用SpringBoot+Echarts实现请求后台数据显示饼状图”吧!

场景

SpringBoot搭建后台获取数据,前端可视化使用echarts的饼状图。

Echarts3官网

获取Echarts

从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整版本。开发环境建议下载源代码版本,包含了常见的错误提示和警告。

在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库。

通过 npm 获取 echarts,npm install echarts --save,详见“在 webpack 中使用 echarts”

cdn 引入,你可以在 cdnjs,npmcdn 或者国内的 bootcdn 上找到 ECharts 的最新版本。

引入 ECharts

ECharts 3 开始不再强制使用 AMD 的方式按需引入,代码里也不再内置 AMD 加载器。因此引入方式简单了很多,只需要像普通的 JavaScript 库一样用 script 标签引入。

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <!-- 引入 ECharts 文件 -->  <script src="echarts.min.js"></script></head></html>

绘制一个简单的图表

在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器。

<body>  <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->  <p id="main" ></p></body>

然后就可以通过 echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个简单的柱状图,下面是完整代码。

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <title>ECharts</title>  <!-- 引入 echarts.js -->  <script src="echarts.min.js"></script></head><body>  <!-- 为ECharts准备一个具备大小(宽高)的Dom -->  <p id="main" ></p>  <script type="text/javascript">    // 基于准备好的dom,初始化echarts实例    var myChart = echarts.init(document.getElementById('main'));     // 指定图表的配置项和数据    var option = {      title: {        text: 'ECharts 入门示例'      },      tooltip: {},      legend: {        data:['销量']      },      xAxis: {        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]      },      yAxis: {},      series: [{        name: '销量',        type: 'bar',        data: [5, 20, 36, 10, 10, 20]      }]    };     // 使用刚指定的配置项和数据显示图表。    myChart.setOption(option);  </script></body></html>

这样你的第一个图表就诞生了!

以上是官网示例。

实现

html中引入echarts

<script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.js"></script><!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --><p id="main" ></p>

在模板中已经引入jquery,这里不再引入。

编写js

$(document).ready(function() {   // 基于准备好的dom,初始化echarts实例  var myChart = echarts.init(document.getElementById('main'));  // 指定图表的配置项和数据  var names=[];  var values=[];  //数据加载完之前先显示一段简单的loading动画  myChart.showLoading();  $.ajax({    type : "post",    async : true,      //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)    url : "/wmsLogisticMonitoring/EcharsShow",  //请求发送到dataActiont处    data : {},    dataType : "json",    //返回数据形式为json    success : function(result) {      //请求成功时执行该函数内容,result即为服务器返回的json对象      if (result) {        for(var i=0;i<result.length;i++){          names.push(result[i].name);          values.push(result[i].num);        }        myChart.hideLoading();  //隐藏加载动画        myChart.setOption(          {            title: {              text: '物料运输件数',              x: 'center'            },            tooltip: {              trigger: 'item',              formatter: "{a} <br/>{b} : {c} ({d}%)"            },            legend: {              orient: 'vertical',              left: 'left',              data: names            },            series: [              {                name: '物料来源',                type: 'pie',                radius: '55%',                center: ['50%', '60%'],                data: result,                itemStyle: {                  emphasis: {                    shadowBlur: 10,                    shadowOffsetX: 0,                    shadowColor: 'rgba(0, 0, 0, 0.5)'                  }                }              }            ]          }        );      }    },    error : function(errorMsg) {      //请求失败时执行该函数      alert("图表请求数据失败!");      myChart.hideLoading();    }  });//end ajax  });//刷新方法结束

SpringBoot后台编写

编写实体类Echarts

package com.ws.bus.sys.vo.LogisticsMonitoring; import lombok.Data; /** * Created by badao on 2019/5/7. */@Datapublic class Echarts {  private String name;  private Integer value;   public Echarts(String name, Integer value) {    this.name = name;    this.value = value;  }   public Echarts() {  }}

编写后台Controller

@Description("获取Echarts数据")  @RequestMapping("/EcharsShow")  @ResponseBody  public List<Echarts> echartsShow(Model model) {    List<Echarts> list = new ArrayList<Echarts>();    list.add(new Echarts("正极车间",100));    list.add(new Echarts("负极车间",200));    list.add(new Echarts("立体仓库",300));    list.add(new Echarts("清洁车间",400));    return list;  }

到此,相信大家对“怎么用SpringBoot+Echarts实现请求后台数据显示饼状图”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI