场景

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

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89921101

实现

在上面实现一次ajax请求数据返回并显示一个饼状图的基础上。

html页面修改

<script src=" href='https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.js">https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.js"></script>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<table><tr><td><div id="main1" style="width: 600px;height:400px;border:1px dashed #000;"></div></td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td><div id="main2" style="width: 600px;height:400px;border:1px dashed #000;"></div></td></tr><tr><br/></tr><tr><td><div id="main3" style="width: 600px;height:400px;border:1px dashed #000;"></div></td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td> <div id="main4" style="width: 600px;height:400px;border:1px dashed #000;"></div></td></tr>
</table>

后台Controller修改

@Description("获取Echarts数据")@RequestMapping("/EcharsShow")@ResponseBodypublic Map<String,List<Echarts>> echartsShow(Model model) {Map<String,List<Echarts>> map = new HashMap<>();List<Echarts> list1 = new ArrayList<Echarts>();list1.add(new Echarts("正极车间",100));list1.add(new Echarts("负极车间",200));list1.add(new Echarts("立体仓库",300));list1.add(new Echarts("清洁车间",400));List<Echarts> list2 = new ArrayList<Echarts>();list2.add(new Echarts("正极车间",100));list2.add(new Echarts("负极车间",200));list2.add(new Echarts("立体仓库",300));list2.add(new Echarts("清洁车间",400));List<Echarts> list3 = new ArrayList<Echarts>();list3.add(new Echarts("正极车间",100));list3.add(new Echarts("负极车间",200));list3.add(new Echarts("立体仓库",300));list3.add(new Echarts("清洁车间",400));List<Echarts> list4 = new ArrayList<Echarts>();list4.add(new Echarts("正极车间",100));list4.add(new Echarts("负极车间",200));list4.add(new Echarts("立体仓库",300));list4.add(new Echarts("清洁车间",400));map.put("list1",list1);map.put("list2",list2);map.put("list3",list3);map.put("list4",list4);return map;}

js代码修改

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

效果

SpringBoot+Echarts实现一次ajax请求返回并显示多个饼状图相关推荐

  1. ECharts的学习(二):制作一个简单的饼状图,并对其设置样式

    这是学习ECharts的练手之作,中文学习网址:http://echarts.baidu.com/index.html 实现效果图如下: <!DOCTYPE html> <html& ...

  2. echarts柱状图显示百分比_Echarts 饼状图显示信息,内容,值,百分比都显示的代码 更改图例等问题汇总...

    增加了显示比例,显示内容 显示比例代码显示完整代码: series: [{name:'访问来源',type:'pie',radius: ['50%', '70%'],avoidLabelOverlap ...

  3. vue+elementui+echarts饼状图内部显示百分比

    <!--饼状图--><div id="main" style="width: 400px;height: 350px;"></di ...

  4. SpringBoot+Echarts实现请求后台数据显示饼状图

    场景 SpringBoot搭建后台获取数据,前端可视化使用echarts的饼状图. Echarts3官网: https://www.echartsjs.com/index.html 获取Echarts ...

  5. IE bug:ajax请求返回304解决方案

    IE bug:ajax请求返回304解决方案 参考文章: (1)IE bug:ajax请求返回304解决方案 (2)https://www.cnblogs.com/fanyx/p/6773256.ht ...

  6. ajax failed啥意思,AJAX请求返回200 OK,但是一个错误事件被触发而不是成功。

    AJAX请求返回200 OK,但是一个错误事件被触发而不是成功. 我已经在我的网站上实现了一个Ajax请求,我正在从一个网页调用端点.它总是回来200 OK,但是jQuery执行错误事件.我试了很多东 ...

  7. ajax返回request,WordPress的Ajax请求返回0(Wordpress ajax request return 0)

    WordPress的Ajax请求返回0(Wordpress ajax request return 0) 你好,我有一个WordPress的问题我无法获得ajax电话,我找不到原因. 我的查询一直返回 ...

  8. ajax绑值,AJAX请求,返回json进行页面绑值

    前台代码: index.html 去往含有ajax的页面 点我! queryList.html AJAX请求,返回json进行页面绑值 var name = "测试"; //测试与 ...

  9. ajax返回字符串怎么处理,ajax请求返回json字符串/json对象 处理

    1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: Prin ...

最新文章

  1. tomcat中server.xml文件详解
  2. IT服务台来电分配技术——ACD介绍
  3. 什么是EEG以及如何解释EEG?
  4. python 命令行参数-Python 命令行参数解析
  5. struts2的OGNL表达式理解(一)
  6. LifseaOS 悄然来袭,一款为云原生而生的 OS
  7. (视频+图文)机器学习入门系列-第15章
  8. mac电脑开机键盘和鼠标失灵
  9. 第七届(16年)蓝桥杯java B组决赛真题及前四题解析
  10. dbeaver 设置编码_初学者必须知道的idea设置
  11. 今天跟某个投了社区团购的资本合伙人聊,发现对于社区团购的认知,还是太肤浅
  12. 已经发车的票还能取出来吗_网上预订汽车票不知道怎么退票?
  13. ST-Link驱动安装不正确,设备管理器黄色感叹号,win10安装stlink驱动
  14. W3school离线手册最新版下载
  15. 供应商管理系统SRM
  16. 用LabVIEW开发简仪USB101数据采集卡会是怎样的?
  17. android:style/theme.holo.light,Galaxy Nexus上的Android Theme.Holo.Light在模拟器没有的时候有灰色背景...
  18. Windows Kits(Windows 工具包)
  19. 百子作业 —— 中国邮递员问题
  20. 学习笔记:运算放大器(OPA)超详细讲解(内含运用电路仿真)

热门文章

  1. java中IO流用到了哪种设计模式
  2. spring中的jdk动态代理(代码步骤)
  3. Eclipse将整个项目的HTML文件编码改为UTF-8
  4. mac java偏好设置_在 Mac中配置Java开发环境
  5. 1、计算机网络之计算机之间的连接方式
  6. 做折线图坐标轴数字_你做的柱状图太丑了,这些美化技巧教给你(收藏)
  7. java二维数组高纬低纬_2018-05-17 第十一天
  8. input 不显示边框_不需要使用JavaScript
  9. 如何安装mysql5.7.9_安装mysql-5.7.9-winx64
  10. android关机菜单修改,Android4.4关机菜单添加重启系列选项