<script type="text/javascript">
$().ready(function() {
var myChart = echarts.init(document.getElementById('main'));
//图表显示提示信息
myChart.showLoading();
//定义图表options
option = {
tooltip : {
trigger : 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend : {
data : []
},
grid : {
left : '3%',
right : '4%',
bottom : '3%',
containLabel : true
},
xAxis : {
type : 'value'
},
yAxis : {
type : 'category',
data : []
},
series : []
};
//通过Ajax获取数据
$.ajax({
type : "post",
async : false, //同步执行
url : "showEchartFoldBar.action",
dataType : "json", //返回数据形式为json
success : function(result) {
if (result) {
//将返回的category和series对象赋值给options对象内的category和series
//因为xAxis是一个数组 这里需要是xAxis[i]的形式
option.legend.data = result.legend;
option.yAxis.data = result.category;
var serisdata = result.series[0].data;
var datas = [];
for ( var i = 0; i < serisdata.length; i++) {
datas.push({
name : serisdata[i].name,
type : serisdata[i].type,
stack : serisdata[i].stack,
label : {
normal : {
show : true,
position : 'insideRight'
}
},
data : serisdata[i].data,
});
}
option.series = datas;
myChart.hideLoading();
myChart.setOption(option);
}
},
error : function(errorMsg) {
alert("图表请求数据失败啦!");
}
}); });
</script>
@RequestMapping("/showEchartFoldBar")
@ResponseBody
public EchartData FoldBarData() {
List<String> legend = new ArrayList<String>();
List<Visit> vis1 = visitBiz.findByCondition(new Visit(null, "星期一", null, null));
for (Visit visit : vis1) {
legend.add(visit.getName());
} List<String> category = new ArrayList<String>();
List<Visit> vis2 = visitBiz.findByCondition(new Visit(null,null, null,"邮件营销"));
for (Visit visit : vis2) {
category.add(visit.getWeek());
} List<Map> serisData=new ArrayList<Map>();
List<String> name = visitBiz.selectName();
for (String str : name) {
Map map =new HashMap();
map.put("name",str);
List<Visit> lis = visitBiz.findByCondition(new Visit(null, null, null, str));
List<Long> data=new ArrayList<Long>();
for (Visit visit : lis) {
data.add(visit.getCount());
}
map.put("data", data);
map.put("type", "bar");
map.put("stack", "总量");
serisData.add(map);
} List<Series> series = new ArrayList<Series>();// 纵坐标
series.add(new Series(null,null,serisData));
EchartData data = new EchartData(legend,category, series);
return data;
}
public class Visit {
private Integer id; private String week; private Long count; 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. vmware 装 puppy

    说做就做了,但是开始怎么试都没装成功,后来在网上查了些资料,再结合自己的实践,终于成功了.下面我就把如何让Puppy Linux安装到VMware 硬盘上一步一步奉献给大家. 一.准备 1.1 安装好 ...

  2. Django之单表的增删改查

      books/urls.py   """books URL Configuration The `urlpatterns` list routes URLs to vi ...

  3. java编程思想阅读记录

    第五章:初始化与清理 1.构造器确保初始化 构造器采用与类名相同的方法. 创建对象时,将会为对象分配存储空间,并调用相应的构造器.这就确保了在你能操作对象之前,它就已经恰当的被初始化了. 垃圾回收器负 ...

  4. Windows同步阿里云时间

    Ctrl+R打开cmd命令框 输入:gpedit.msc 计算机配置”—“管理模版”—“系统”—“Windows 时间服务”—“时间提供程序”—“配置 Windows NTP 客户端 双击打开配置 W ...

  5. app审核相关

    app加急审核通道:https://developer.apple.com/contact/app-store/?topic=expedite

  6. 【Luogu】P2679子串(DP)

    题目链接 GuessYCB的题解讲的很棒.就这样. 因为这题我不会,而题解又讲的太全太详细太好了. #include<cstdio> #include<cctype> #inc ...

  7. 【Openjudge】岛屿(并查集)

    题目链接 此题是并查集.考虑到水位不断上涨,所以将时间倒转.先统计最后一天的联通块个数,每一天浮出水面的块进行计算.复杂度O(玄学). 代码如下 #include<cstdio> #inc ...

  8. 刷题总结——mayan游戏(NOIP2011提高组day2T3)

    题目: 题目背景 NOIP2011提高组 DAY1 试题. 题目描述 Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个 7 行 5 列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即 ...

  9. 浅谈Oracle数据库分区表

    Oracle数据库分区是作为Oracle数据库性能优化的一种重要的手段和方法,之前,只听过分区的大名,却总未用过,最近简单学习了一下,总结如下,不对之处,还希望朋友们多多指点,交流! 1.表空间及分区 ...

  10. oracle查询当前用户名下所有表

    select * from all_tables where owner='TEST': TEST为用户名,用户名必须是大写. 查看当前登录的用户的表: select table_name from ...