[转]Echarts 后台交互

Echarts—折线图动态获取数据示例(java版本) 最终效果 饼状图:饼状图示例,使劲点我!!! 柱状图:柱状图实例,使劲点我!!! 步骤:准备一个dom——>获取dom节点——>初始化——>绘制图表——>渲染数据 html代码 <template> <section class="chart-container"> <el-row> <el-badge ... 阅读详情

原地址http://blog.youkuaiyun.com/gaogaoshan/article/details/38037849

jsp页面

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  3. <html>  
  4. <head>  
  5. <title>line</title>  
  6. <script type="text/javascript" src="${pageContext.request.contextPath}/js/echarts2.0/esl.js"></script>  
  7. <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.js"></script>  
  8. </head>  
  9.   
  10. <body>  
  11.     <!-- 为ECharts准备一个具备大小(宽高)的Dom -->  
  12.         <div id="main" style="height:400px"></div>  
  13.   
  14.   
  15.     <script type="text/javascript" language="javascript">  
  16.         var myChart;  
  17.         var eCharts;  
  18.   
  19.         require.config({  
  20.             paths : {  
  21.                 'echarts' : '${pageContext.request.contextPath}/js/echarts2.0/echarts' ,  
  22.                 'echarts/chart/line' : '${pageContext.request.contextPath}/js/echarts2.0/echarts' //需要的组件  
  23.             }  
  24.         });  
  25.   
  26.         require(  
  27.             [ 'echarts',   
  28.               'echarts/chart/line'  
  29.             ], DrawEChart //异步加载的回调函数绘制图表  
  30.         );  
  31.   
  32.         //创建ECharts图表方法  
  33.         function DrawEChart(ec) {  
  34.             eCharts = ec;  
  35.             myChart = eCharts.init(document.getElementById('main'));  
  36.             myChart.showLoading({  
  37.                 text : "图表数据正在努力加载..."  
  38.             });  
  39.             //定义图表options  
  40.             var options = {  
  41.                 title : {  
  42.                     text : "未来一周气温变化",  
  43.                     subtext : "纯属虚构",  
  44.                     sublink : "http://www.baidu.com"  
  45.                 },  
  46.                 tooltip : {  
  47.                     trigger : 'axis'  
  48.                 },  
  49.                 legend : {  
  50.                     data : [ "最高气温" ]  
  51.                 },  
  52.                 toolbox : {  
  53.                     show : true,  
  54.                     feature : {  
  55.                         mark : {  
  56.                             show : true  
  57.                         },  
  58.                         dataView : {  
  59.                             show : true,  
  60.                             readOnly : false  
  61.                         },  
  62.                         magicType : {  
  63.                             show : true,  
  64.                             type : [ 'line', 'bar' ]  
  65.                         },  
  66.                         restore : {  
  67.                             show : true  
  68.                         },  
  69.                         saveAsImage : {  
  70.                             show : true  
  71.                         }  
  72.                     }  
  73.                 },  
  74.                 calculable : true,  
  75.                 xAxis : [ {  
  76.                     type : 'category',  
  77.                     boundaryGap : false,  
  78.                     data : [ '1', '2', '3', '4', '5', '6', '7' ]  
  79.                 } ],  
  80.                 yAxis : [ {  
  81.                     type : 'value',  
  82.                     axisLabel : {  
  83.                         formatter : '{value} °C'  
  84.                     },  
  85.                     splitArea : {  
  86.                         show : true  
  87.                     }  
  88.                 } ],  
  89.                 grid : {  
  90.                     width : '90%'  
  91.                 },  
  92.                 series : [ {  
  93.                     name : '最高气温',  
  94.                     type : 'line',  
  95.                     data : [ 11, 22, 33, 44, 55, 33, 44 ],//必须是Integer类型的,String计算平均值会出错  
  96.                     markPoint : {  
  97.                         data : [ {  
  98.                             type : 'max',  
  99.                             name : '最大值'  
  100.                         }, {  
  101.                             type : 'min',  
  102.                             name : '最小值'  
  103.                         } ]  
  104.                     },  
  105.                     markLine : {  
  106.                         data : [ {  
  107.                             type : 'average',  
  108.                             name : '平均值'  
  109.                         } ]  
  110.                     }  
  111.                 } ]  
  112.             };  
  113.             myChart.setOption(options); //先把可选项注入myChart中  
  114.             myChart.hideLoading();  
  115.             getChartData();//aja后台交互   
  116.         }  
  117.     </script>  
  118.   
  119.   
  120.     <script type="text/javascript">  
  121.         function getChartData() {  
  122.             //获得图表的options对象  
  123.             var options = myChart.getOption();  
  124.             //通过Ajax获取数据  
  125.             $.ajax({  
  126.                 type : "post",  
  127.                 async : false, //同步执行  
  128.                 url : "${pageContext.request.contextPath}/echarts/line_data",  
  129.                 data : {},  
  130.                 dataType : "json", //返回数据形式为json  
  131.                 success : function(result) {  
  132.                     if (result) {  
  133.                         options.legend.data = result.legend;  
  134.                         options.xAxis[0].data = result.category;  
  135.                         options.series[0].data = result.series[0].data;  
  136.   
  137.                         myChart.hideLoading();  
  138.                         myChart.setOption(options);  
  139.                     }  
  140.                 },  
  141.                 error : function(errorMsg) {  
  142.                     alert("不好意思,大爷,图表请求数据失败啦!");  
  143.                     myChart.hideLoading();  
  144.                 }  
  145.             });  
  146.         }  
  147.     </script>  
  148. </body>  
  149. </html>  


controller


  1. package com.ffcs.wlan.controller;  
  2. import java.util.ArrayList;  
  3. import java.util.Arrays;  
  4. import java.util.List;  
  5. import org.slf4j.Logger;  
  6. import org.slf4j.LoggerFactory;  
  7. import org.springframework.stereotype.Controller;  
  8. import org.springframework.web.bind.annotation.RequestMapping;  
  9. import org.springframework.web.bind.annotation.ResponseBody;  
  10. import com.ffcs.wlan.model.EchartData;  
  11. import com.ffcs.wlan.model.Series;  
  12.   
  13. @Controller  
  14. @RequestMapping("/echarts")  
  15. public class EntityController {  
  16.       
  17.     private static final Logger logger = LoggerFactory.getLogger(EntityController.class);  
  18.   
  19.     @RequestMapping("/line_data")  
  20.     @ResponseBody  
  21.     public EchartData lineData() {  
  22.         logger.info("lineData....");  
  23.           
  24.         List<String> legend = new ArrayList<String>(Arrays.asList(new String[]{"最高气温"}));//数据分组  
  25.         List<String> category = new ArrayList<String>(Arrays.asList(new String []{"周一","周二","周三","周四","周五","周六","周日"}));//横坐标  
  26.         List<Series> series = new ArrayList<Series>();//纵坐标  
  27.           
  28.         series.add(new Series("最高气温", "line",   
  29.                         new ArrayList<Integer>(Arrays.asList(  
  30.                                 21,23,28,26,21,33,44))));  
  31.           
  32.         EchartData data=new EchartData(legend, category, series);  
  33.         return data;  
  34.     }  
  35.       
  36.     @RequestMapping("/line_page")  
  37.     public String linePage() {  
  38.         logger.info("linePage....");  
  39.         return "report/line";  
  40.     }  
  41.       
  42.       
  43. }  

Echarts 类


  1. package com.ffcs.wlan.model;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. public class EchartData {  
  7.   
  8.     public List<String> legend = new ArrayList<String>();//数据分组  
  9.     public List<String> category = new ArrayList<String>();//横坐标  
  10.     public List<Series> series = new ArrayList<Series>();//纵坐标  
  11.       
  12.       
  13.     public EchartData(List<String> legendList, List<String> categoryList, List<Series> seriesList) {  
  14.         super();  
  15.         this.legend = legendList;  
  16.         this.category = categoryList;  
  17.         this.series = seriesList;  
  18.     }  
  19.       
  20. }  

Series 类


  1. package com.ffcs.wlan.model;  
  2.   
  3. import java.util.List;  
  4.   
  5.   
  6. public class Series  {  
  7.       
  8.     public String name;  
  9.       
  10.     public String type;  
  11.       
  12.     public List<Integer> data;//这里要用int 不能用String 不然前台显示不正常(特别是在做数学运算的时候)  
  13.   
  14.     public Series( String name, String type, List<Integer> data) {  
  15.         super();  
  16.         this.name = name;  
  17.         this.type = type;  
  18.         this.data = data;  
  19.     }  
  20.   
  21.   
  22. } 
echarts在java中与后台交互 完整流程:    python爬取股票信息-------将信息保存到数据库----------通过ajax发送post请求到java后台-----java后台连接数据库获取到数据库信息-------通过echarts进行展示(柱状图、折线图)python爬取股票信息就不贴代码了,主要是后面的。jsp1、通过ajax发送post请求到后台获取数据进行展示&lt;%@ page language="j... 阅读详情

相关推荐

Echarts与后台(SSM) 数据交互

一、Echarts 是什么? 在说 Echarts 是什么之前,先来看看我们常看到的数据图形: 这就是 Echarts 搞出来的,通俗一点来说,Echarts 就是可视化图形界面,获取到后台的数据,通过图形的形式形象化的展现在你的面前。相对于死板的数据字符串,清晰的图形分析简直好到不能再好。 当后台管理系统有一定的数据量后,我们可能需要对这些数据进行统计、分析,提炼出更多有用的信息,而为了使这些冰冷的数据显得更平易近人,更直观的传达信息,我们可以使用图表来将数据表达出来,实现数据...

qq_44543292的博客 5321

ECharts与Java的后端数据交互(一)

功能: 1.展示mysql中的数据 2.导出Echarts报表,生成.xls文件 最终运行图: 项目整体目录: sqlyog内容: 实力类代码: package com.zh.bean; public class Cxx { private String cxx; private int c1; private int c2; private int c3; privat...

qq_43251032的博客 1万+

Java+PhantomJs实现后台生成Echarts图片(完整源码)

目的:实现在java后台直接根据options生成Echarts统计图片 本文实现原理:java调用Runtime.getRuntime().exec()的方式调用phantomjs。然后由phantomjs处理echarts数据,最终生成图片。 第一步:下载并安装PhantomJs 下载地址:http://phantomjs.org/download.html 下载完成后配置环境变量 ​ 把解...

维他vi_ta的博客 1万+

Echarts折线图动态获取数据实例(附java后台代码)

前一段时间项目中要做数据统计,最后采用百度的echarts来做。之前写了一篇柱状图的用法,今天把折线图的写法分享一下。当时也是跳了很多坑参考了不少大神的文章,不过许多只是把jsp页面的js代码贴了出来没有java后台的,而我的项目需求是要能动态获取后台写法只能自己慢慢琢磨,虽然过程有点波折好在是按时完成需求,为了以后使用echarts动态获取数据的同学少跳坑我把代码分享出来,以供参考。先前根据dem

Tomcat猫炸了 1万+

ECharts 的Base64图片后台解析

最近做了项目的报表使用到了百度的echarts,后来新的需求又来了,要求该报表图片实现邮件发送。也就是说报表图片能够被邮件发送。 实际上其他问题都没什么,最重要的就是怎么将前台的图片信息发送到后台,并且能够在后台能够使用Java进行解析。 在网上找了一些,但是并没找到完美的解决方案【可能是没找全吧!“勿喷”】。 以下是我的解决方案,希望能够解决你的问题。 前台: 首先在js中定义一个全局

踏歌行的专栏 2万+

快速使用echarts(JAVA前后台交互)

1.我这里演示的是echarts折线图实例,先看一下echarts实现的效果图,是否是你想要的呢? 2.echarts核心代码(html和js)如下: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta charset="UTF-8"> ...

余生一个帆的博客 1757

ECharts前后台交互获取数据

<!DOCTYPE HTML> <html lang="zh" xmlns:th="http://www.thymeleaf.org"> <meta charset="utf-8"> <head th:include="include :: header"></head> <script th:src="@{/ajax/libs/...

Eddie-Wang的博客 5313

asp+access+echarts+iis

利用了echarts的JS,通过asp编程语言,连接access数据库,展现出大数据图表。内置了一个iis,可以极简约地实现数据库中的数据用各种图形展现,还提供图片下载。有意思的一个新老技术结合。

关于echarts 与后台数据进行交互

后台数据@RequestMapping(value = "apple") @ResponseBody public Map&lt;String ,Object&gt; findInfo(){ Map&lt;String,Object&gt; map=new HashMap&lt;&gt;(); 正常的话会是通过sql去查到数据 以这样的形式去将数据循环出来 List&lt;Str...

qq_37855506的博客 7770

echarts+asp查询应用

echarts+asp查询应用echarts+asp查询应用echarts+asp查询应用,百度echarts,建议如果后台需要做数据分析可以使用,支持asp、php、jsp、jspssh等框架。

asp查询工资echarts图表显示.zip

1.asp查询本地access数据库,获取应发工资、实发工资、扣除工资,ajax异步返回json格式数据 2.将返回json输入到echarts圆饼状显示,实现动态加载数据。

Echarts 后台交互

jsp页面 line var myChart; var eCharts; require.config({ paths : { 'echarts' : '${pageContext.request.contextPath}/js/echarts2.0/echarts' , 'echarts/chart/line' : '${

5万+

飞牛NAS挂载115网盘避坑指南:为什么你的大文件总是传输失败?

本文深入解析了在飞牛NAS上通过AList挂载115网盘时,大文件传输失败的深层原因,包括风控机制、网络协议及兼容性问题。文章提供了从基础排查到高阶优化的系统性解决方案,并建议采用Kopia分片备份等终极策略,以实现稳定可靠的云端数据流转。

weixin_29306011的博客 1680

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"&gt

冲出仁川,走出马德里,故事还会再继续 892

从理论到实践:基于Zemax的高分辨率生物显微镜光学系统仿真与优化指南

本文详细介绍了基于Zemax的高分辨率生物显微镜光学系统仿真与优化全流程。从阿贝分辨率公式、柯勒照明等理论基础出发,逐步讲解Zemax建模、像差优化、制造可行性分析等核心步骤,并提供常见问题解决方案。通过实际案例展示如何将理论设计转化为可制造的优化方案,帮助工程师掌握从仿真到实际应用的关键技术。

weixin_29229989的博客 480

避坑指南:从聚宽迁移到QMT必须知道的5个细节(含Redis连接异常处理)

本文详细解析了从聚宽迁移到QMT平台时需注意的5个关键细节,特别是Redis连接池优化和xtquant重连机制。通过实战代码示例,帮助量化团队解决信号传递稳定性、时间同步、滑点控制等核心问题,确保交易策略平稳过渡。

weixin_27303545的博客 426

ECharts与java后台交互绘制图表

ECharts与java后台交互绘制图表 效果如下: 1、test.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--引入Echarts文件--> <script src="js/echarts.min.js"></script>

冲出仁川,走出马德里,故事还会再继续 1154

树莓派34/100 - Pico读取MPU6050加速度和陀螺仪传感器数据

树莓派Pico连接MPU-6050模块(三轴陀螺仪+三轴加速度),读取运动姿态数据。

申龙斌的程序人生 5087

一款基于JAVA开发的Echarts后台生成框架

本文分享一款基于Java开发的Echarts后台生成框架,支持自动生成Echarts的参数,通过生成Echarts饼图和折线图的实例化生成,让大家熟悉常见的开发方式,同时分析了官网示例存在的问题以及解决方案,希望对使用的朋友有所帮助。

夜郎King的博客 1万+

PFC电压环与电流环的带宽设计:如何避免输入电流畸变?

本文深入探讨了PFC电路中电压环与电流环的带宽设计问题,揭示了快速电压环导致输入电流畸变的机制,并提供了避免THD上升的工程实践方法。通过分析双环控制架构、谐波失真原理及带宽设计黄金法则,帮助工程师优化PFC系统性能,实现高功率因数与低谐波失真的平衡。

weixin_28304023的博客 420

零承诺的启动之路:详解 SAP BTP 的 Pay-As-You-Go for SAP BTP(含案例与迁移策略)

SAP BTP的Pay-As-You-Go(PAYG)模式为零承诺的按需付费方案,适合PoC和小规模上线场景。它提供生产环境直接启用服务的能力,按月后付标准目录价,无预付和折扣。PAYG可与BTP企业协议(BTPEA/CPEA)混合使用,用量稳定后可平滑迁移至CPEA获取更好财务条款。关键优势在于灵活开启/关闭服务,支持通过SAP Discovery Center估算费用,并配合成本治理工具控制支出。该模式适用于创新项目初期,当业务规模可预测时再考虑转为承诺型消费模式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 246

echarts实例后台交互数据展示

// 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('main')); //echarts等待框  myChart.showLoading({          text : '正在努力的读取数据中...'  });   //向后台请求数据 $.ajax({ type:"post", ...

baidu_38027860的博客 3451

【ArcGIS Pro微课1000例】0023:ArcGIS Pro 3.0中打开GeoPackage数据库(.gpkg)

本文讲解ArcGIS Pro 3.0中打开GeoPackage数据库(.gpkg)的两种方法。

智慧空间实验室 4636

Vue+Echarts后台交互

Vue+Echarts后台交互drawPieChart() { drawPieChart() { this.chartPie = echarts.init(document.getElementById('chartPie')); this.chartPie.setOption({ title: { ...

qq_32680217的博客 2135

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

echarts 折线图与后台进行的交互

下载js 文件 引入 我下面这些不用引入,只要去官网上面下载一个js文件就可以了,然后引入一下,我下面这些是为了更多数据的显示所以引入的多个文件一般就是<script src="js/echarts.min.js"></script> 这一个就可以; 具体代码在 “最” 下方 引入一个文件效果图 引如多个效果图 大...

weixin_44944193的博客 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: OSCache入门配置
下一篇: OSCache-缓存对象
javahepeng
博客等级 码龄15年 6粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值