1. <script type="text/javascript">
  2. $().ready(function() {
  3. var myChart = echarts.init(document.getElementById('main'));
  4. //图表显示提示信息
  5. myChart.showLoading();
  6. //定义图表options
  7. option = {
  8. tooltip : {
  9. trigger : 'axis',
  10. axisPointer : { // 坐标轴指示器,坐标轴触发有效
  11. type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  12. }
  13. },
  14. legend : {
  15. data : []
  16. },
  17. grid : {
  18. left : '3%',
  19. right : '4%',
  20. bottom : '3%',
  21. containLabel : true
  22. },
  23. xAxis : {
  24. type : 'value'
  25. },
  26. yAxis : {
  27. type : 'category',
  28. data : []
  29. },
  30. series : []
  31. };
  32. //通过Ajax获取数据
  33. $.ajax({
  34. type : "post",
  35. async : false, //同步执行
  36. url : "showEchartFoldBar.action",
  37. dataType : "json", //返回数据形式为json
  38. success : function(result) {
  39. if (result) {
  40. //将返回的category和series对象赋值给options对象内的category和series
  41. //因为xAxis是一个数组 这里需要是xAxis[i]的形式
  42. option.legend.data = result.legend;
  43. option.yAxis.data = result.category;
  44. var serisdata = result.series[0].data;
  45. var datas = [];
  46. for ( var i = 0; i < serisdata.length; i++) {
  47. datas.push({
  48. name : serisdata[i].name,
  49. type : serisdata[i].type,
  50. stack : serisdata[i].stack,
  51. label : {
  52. normal : {
  53. show : true,
  54. position : 'insideRight'
  55. }
  56. },
  57. data : serisdata[i].data,
  58. });
  59. }
  60. option.series = datas;
  61. myChart.hideLoading();
  62. myChart.setOption(option);
  63. }
  64. },
  65. error : function(errorMsg) {
  66. alert("图表请求数据失败啦!");
  67. }
  68. });
  69.  
  70. });
  71. </script>
  1. @RequestMapping("/showEchartFoldBar")
  2. @ResponseBody
  3. public EchartData FoldBarData() {
  4. List<String> legend = new ArrayList<String>();
  5. List<Visit> vis1 = visitBiz.findByCondition(new Visit(null, "星期一", null, null));
  6. for (Visit visit : vis1) {
  7. legend.add(visit.getName());
  8. }
  9.  
  10. List<String> category = new ArrayList<String>();
  11. List<Visit> vis2 = visitBiz.findByCondition(new Visit(null,null, null,"邮件营销"));
  12. for (Visit visit : vis2) {
  13. category.add(visit.getWeek());
  14. }
  15.  
  16. List<Map> serisData=new ArrayList<Map>();
  17. List<String> name = visitBiz.selectName();
  18. for (String str : name) {
  19. Map map =new HashMap();
  20. map.put("name",str);
  21. List<Visit> lis = visitBiz.findByCondition(new Visit(null, null, null, str));
  22. List<Long> data=new ArrayList<Long>();
  23. for (Visit visit : lis) {
  24. data.add(visit.getCount());
  25. }
  26. map.put("data", data);
  27. map.put("type", "bar");
  28. map.put("stack", "总量");
  29. serisData.add(map);
  30. }
  31.  
  32. List<Series> series = new ArrayList<Series>();// 纵坐标
  33. series.add(new Series(null,null,serisData));
  34. EchartData data = new EchartData(legend,category, series);
  35. return data;
  36. }
  1. public class Visit {
  2. private Integer id;
  3.  
  4. private String week;
  5.  
  6. private Long count;
  7.  
  8. private String name;

基于SpringMVC框架使用ECharts3.0实现堆叠条形图的绘制(下篇)的更多相关文章

  1. 基于SpringMVC框架使用ECharts3.0实现折线图,柱状图,饼状图,的绘制(上篇)

    页面部分 <%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE html> ...

  2. 【PHP】基于ThinkPHP框架搭建OAuth2.0服务

    [PHP]基于ThinkPHP框架搭建OAuth2.0服务 http://leyteris.iteye.com/blog/1483403

  3. JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven、SpringMVC、SpringJDBC

    接上篇<JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP.IOC)>,了解了Spring的核心(AOP.IOC)后,我们再来学习与实践Maven.Sp ...

  4. 基于SpringMVC框架项目Demo

    Git地址:https://github.com/JavaWeb1024/SpringMVC 1.     框架简介: 为打造一套集群高可用的框架,集成的技术目前比较成熟,稳定.相关的知识点在网络上也 ...

  5. SpringMVC快速使用——基于XML配置和Servlet3.0

    SpringMVC快速使用--基于XML配置和Servlet3.0 1.官方文档 https://docs.spring.io/spring-framework/docs/5.2.8.RELEASE/ ...

  6. SpringMVC框架搭建 基于注解

    本文将以一个很简单的案例实现 Springmvc框架的基于注解搭建,一下全为个人总结 ,如有错请大家指教!!!!!!!!! 第一步:创建一个动态web工程(在创建时 记得选上自动生成 web.xml ...

  7. 基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】

    基于SpringMVC下的Rest服务框架搭建[1.集成Swagger] 1.需求背景 SpringMVC本身就可以开发出基于rest风格的服务,通过简单的配置,即可快速开发出一个可供客户端调用的re ...

  8. 基于SpringMVC+Ext.js的权限管理系统(无权限框架)

    代码地址如下:http://www.demodashi.com/demo/12811.html 0.准备工作 注意!!! 本案例数据库相关请下载例子包,内有数据库脚本.EXCEL数据表和详细的设计文档 ...

  9. 基于maven从头搭建springMVC框架

    0.准备工作 首先将eclipse和需要的插件准备好,例如maven插件,spring IDE插件. 1.建立maven下的webapp项目 1.新建一个maven项目,类型为webapp,如下图 2 ...

随机推荐

  1. python模拟浏览器webdriver登陆网站后抓取页面并输出

    关键在于以下两行代码 特别是find_element_by_xpath写法 很多写成 findElementsByXpath不知道是写错了 还是高级版本是这么写的... #webElement = s ...

  2. hdu 1527 威佐夫博弈

    取石子游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. 构建maven的web项目时注意的问题(出现Error configuring application listener of class org.springframework.web.context.ContextLoaderListener 或者前端控制器无法加载)

    构建项目后或者导入项目后,我们需要bulid path--->config build path 特别是maven的依赖一定要 发布到WEB_INF的lib下面,不然在发布项目的时候,这些依赖都 ...

  4. jQuery中文文档

    http://www.jquery123.com/ http://www.shifone.cc/

  5. 转载:LINK:fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    原文地址:http://yacare.iteye.com/blog/2010049 很多伙伴在更新VS2010,或者卸载VS2012安装2010后,建立Win32 Console Project/MF ...

  6. cf575A Fibonotci

    Fibonotci sequence is an integer recursive sequence defined by the recurrence relation Fn = sn - 1·F ...

  7. Autorelease对象什么时候释放?

    Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease ...

  8. MyBatipse插件

    MyBatipse:Eclipse 下的 Mybatis插件 MyBatipse是Eclipse的一个插件,提供了内容提示和Mybatis的配置文件验证功能: 特点 XMLEditor 的增强 代码自 ...

  9. ElasticSearch聚合aggs入门

    Elasticsearch是一款功能强大的开源软件,不仅可以检索排序,还可以对文档进行更复杂的操作--聚合. 1.单值聚合 Sum求和,dsl参考如下: { "size": 0, ...

  10. AOP面向方面(切面)编程

    1.引言 软件开发的目标是要对世界的部分元素或者信息流建立模型,实现软件系统的工程需要将系统分解成可以创建和管理的模块.于是出现了以系统模块化特性的面向对象程序设计技术.模块化的面向对象编程极度极地提 ...