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. PYDay14:反射、面向对象基础-封装、集成、多态

    1.反射 通过字符串的形式,导入模块再通过字符串的形式,去模块中寻找指定的函数并执行eg:__import__(模块) 更加字符串的形式去对象(某个模块)中操作其成员 常用方法: getattr() ...

  2. ubuntu搭建LAMP全教程

    http://jingyan.baidu.com/article/a681b0de36ad683b18434691.html 本经验向你展示如何在ubuntu14.04 环境下搭建apache2 + ...

  3. HDU 3943 K-th Nya Number

    K-th Nya Number Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on HDU. Origina ...

  4. 【UML】9种图+包图

    导读:在UML的学习中,介绍了9种图,外加一个包图.这9种图和4大关系,可以说是UML的一个核心内容.我根据自己的笔记,以及查阅的一些资料,对这9种图和包图,做一个总结. 一.基本定义 1.1  总体 ...

  5. SPOJ - DQUERY 主席树求区间有多少个不同的数(模板)

    D-query Time Limit: 227MS   Memory Limit: 1572864KB   64bit IO Format: %lld & %llu Submit Status ...

  6. 九度oj 题目1207:质因数的个数

    题目描述: 求正整数N(N>1)的质因数的个数. 相同的质因数需要重复计算.如120=2*2*2*3*5,共有5个质因数. 输入: 可能有多组测试数据,每组测试数据的输入是一个正整数N,(1&l ...

  7. Wing IDE 6.0 算号器注册机代码

    我开发Python时喜欢用Wing IDE, 然后最近发现Wing IDE升级到6.0版本了, 但是之前能在5.1上用的算号器代码不能用在6.0上了, 所以就上网搜搜是否有相关算号器, 果然, 找到了 ...

  8. mybatis配置报错(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)

    如下报错:解决方案:要按照提示的顺序添加属性,(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrappe ...

  9. 【Educational Codeforces Round 49 (Rated for Div. 2) 】

    A:https://www.cnblogs.com/myx12345/p/9843826.html B:https://www.cnblogs.com/myx12345/p/9843869.html ...

  10. C#.net的常用函数列表

    原文发布时间为:2008-08-03 -- 来源于本人的百度文章 [由搬家工具导入] 1、DateTime 数字型 System.DateTime currentTime=new System.Dat ...