mark 百度Echarts统计图表
* 百度Echarts统计图表* @author cuichen* @version 1.0* @since 1.0* @date 2015-11-16*/@Controller@RequestMapping(value = "ks/chart")public class KSChartController extends BaseController {@RequestMapping(value = "/line")@ResponseBodypublic Object line(HttpSession session,HttpServletResponse response, HttpServletRequest request,ModelMap modelMap, String sqlx, String sqly, String sqlz) throws Exception {sqlx= HtmlUtils.htmlUnescape(sqlx);sqly= HtmlUtils.htmlUnescape(sqly);sqlz= HtmlUtils.htmlUnescape(sqlz);List<Map<Object, Object>> xList = DBUtils.executeQuery(sqlx, false);List<Map<Object, Object>> yList = DBUtils.executeQuery(sqly, false);List<Map<Object, Object>> zList = DBUtils.executeQuery(sqlz, false);Map<String, Object> option = new HashMap<String, Object>();Map<String, Object> xAxis = new HashMap<String, Object>();List<String> data = new ArrayList<String>();for(int i=0; i<xList.size(); i++) {data.add(xList.get(i).get("VALUE").toString());}xAxis.put("data", data);option.put("xAxis", xAxis);Map<String, Object> legend = new HashMap<String, Object>();data = new ArrayList<String>();for(int i=0; i<zList.size(); i++) {data.add(zList.get(i).get("NAME").toString());}legend.put("data", data);option.put("legend", legend);List<Map<Object, Object>> series = new ArrayList<Map<Object,Object>>();for(int i=0; i<zList.size(); i++) {Map<Object, Object> zMap = zList.get(i);Map<Object, Object> seriesMap = new HashMap<Object, Object>();String zKey = zMap.get("KEY").toString();seriesMap.put("zkey", zKey);seriesMap.put("name", zMap.get("NAME"));seriesMap.put("type", "line");List<Double> yData = new ArrayList<Double>();for(int j=0; j<xList.size(); j++) {Map<Object, Object> xMap = xList.get(j);String xkey = xMap.get("KEY").toString();boolean isAdd = false;for(int k=0; k<yList.size(); k++) {Map<Object, Object> yMap = yList.get(k);if(yMap.get("ZKEY") != null && yMap.get("XKEY") != null && zKey.equals(yMap.get("ZKEY").toString()) && xkey.equals(yMap.get("XKEY").toString())) {yData.add(Double.parseDouble(yMap.get("VALUE").toString()));isAdd = true;break;}}if(!isAdd) {yData.add(0D);}}seriesMap.put("data", yData);series.add(seriesMap);}option.put("series", series);return option;}@RequestMapping(value = "/bar")@ResponseBodypublic Object bar(HttpSession session,HttpServletResponse response, HttpServletRequest request,ModelMap modelMap, String sqlx, String sqly, String sqlz) throws Exception {sqlx= HtmlUtils.htmlUnescape(sqlx);sqly= HtmlUtils.htmlUnescape(sqly);sqlz= HtmlUtils.htmlUnescape(sqlz);List<Map<Object, Object>> xList = DBUtils.executeQuery(sqlx, false);List<Map<Object, Object>> yList = DBUtils.executeQuery(sqly, false);List<Map<Object, Object>> zList = DBUtils.executeQuery(sqlz, false);Map<String, Object> option = new HashMap<String, Object>();Map<String, Object> xAxis = new HashMap<String, Object>();List<String> data = new ArrayList<String>();for(int i=0; i<xList.size(); i++) {data.add(xList.get(i).get("VALUE").toString());}xAxis.put("data", data);option.put("xAxis", xAxis);Map<String, Object> legend = new HashMap<String, Object>();data = new ArrayList<String>();for(int i=0; i<zList.size(); i++) {data.add(zList.get(i).get("NAME").toString());}legend.put("data", data);option.put("legend", legend);List<Map<Object, Object>> series = new ArrayList<Map<Object,Object>>();for(int i=0; i<zList.size(); i++) {Map<Object, Object> zMap = zList.get(i);Map<Object, Object> seriesMap = new HashMap<Object, Object>();String zKey = zMap.get("KEY").toString();seriesMap.put("name", zMap.get("NAME"));seriesMap.put("type", "bar");if(zMap.get("STACK")!=null && StringUtils.isNoneBlank(zMap.get("STACK").toString())) {seriesMap.put("stack", zMap.get("STACK").toString());}List<Double> yData = new ArrayList<Double>();for(int j=0; j<xList.size(); j++) {Map<Object, Object> xMap = xList.get(j);String xkey = xMap.get("KEY").toString();boolean isAdd = false;for(int k=0; k<yList.size(); k++) {Map<Object, Object> yMap = yList.get(k);if(yMap.get("ZKEY") != null && yMap.get("XKEY") != null && zKey.equals(yMap.get("ZKEY").toString()) && xkey.equals(yMap.get("XKEY").toString())) {yData.add(Double.parseDouble(yMap.get("VALUE").toString()));isAdd = true;break;}}if(!isAdd) {yData.add(0D);}}seriesMap.put("data", yData);series.add(seriesMap);}option.put("series", series);return option;}@RequestMapping(value = "/pie")@ResponseBodypublic Object pie(HttpSession session,HttpServletResponse response, HttpServletRequest request,ModelMap modelMap, String sqlx, String sqly, String sqlz) throws Exception {sqlx= HtmlUtils.htmlUnescape(sqlx);sqly= HtmlUtils.htmlUnescape(sqly);sqlz= HtmlUtils.htmlUnescape(sqlz);List<Map<Object, Object>> xList = DBUtils.executeQuery(sqlx, false);List<Map<Object, Object>> yList = DBUtils.executeQuery(sqly, false);List<Map<Object, Object>> zList = DBUtils.executeQuery(sqlz, false);Map<String, Object> option = new HashMap<String, Object>();Map<String, Object> legend = new HashMap<String, Object>();List<String> data = new ArrayList<String>();for(int i=0; i<xList.size(); i++) {data.add(xList.get(i).get("VALUE").toString());}legend.put("data", data);option.put("legend", legend);List<Map<Object, Object>> series = new ArrayList<Map<Object,Object>>();for(int i=0; i<zList.size(); i++) {Map<Object, Object> zMap = zList.get(i);Map<Object, Object> seriesMap = new HashMap<Object, Object>();List<Map<Object, Object>> seriesData = new ArrayList<Map<Object,Object>>();String zKey = zMap.get("KEY").toString();seriesMap.put("name", zMap.get("NAME"));seriesMap.put("type", "pie");seriesMap.put("zkey", zKey);for(int j=0; j<xList.size(); j++) {Map<Object, Object> xMap = xList.get(j);String xkey = xMap.get("KEY").toString();String xvalue = xList.get(j).get("VALUE").toString();boolean isAdd = false;for(int k=0; k<yList.size(); k++) {Map<Object, Object> yMap = yList.get(k);if(yMap.get("ZKEY") != null && yMap.get("XKEY") != null && zKey.equals(yMap.get("ZKEY").toString()) && xkey.equals(yMap.get("XKEY").toString())) {Map<Object, Object> sd = new HashMap<Object, Object>();sd.put("value", Double.parseDouble(yMap.get("VALUE").toString()));sd.put("name", xvalue);seriesData.add(sd);isAdd = true;break;}}if(!isAdd) {Map<Object, Object> sd = new HashMap<Object, Object>();sd.put("value", 0D);sd.put("name", xvalue);seriesData.add(sd);}}seriesMap.put("data", seriesData);series.add(seriesMap);}option.put("series", series);return option;}}
mark 百度Echarts统计图表的更多相关文章
- 完整版ajax+百度echarts实现统计图表demo并随着窗口大小改变而自适应
1.前言 百度Echarts会常用到我们的项目中做统计,api很详细,demo也非常之多,我们常用的是应有尽有了,做一些小项目的时候,百度echarts的demo已足够用了.今天呢.主要是跟小白讲一下 ...
- 百度echarts可以做什么
百度echarts可以做什么 一.总结 一句话总结:可视化做的很好,各种图都有.而且支持动态数据. 二.百度eCharts体验 前言 从昨天开始给项目里添加一些图表对比功能,上一个项目里使用的是Hig ...
- WPF仿百度Echarts人口迁移图
GitHub地址:https://github.com/ptddqr/wpf-echarts-map/tree/master 关于大名鼎鼎的百度Echarts我就不多说了 不了解的朋友直接看官方的例子 ...
- C#+JQuery+.Ashx+百度Echarts实现全国省市地图和饼状图动态数据图形报表的统计
在目前的一个项目中,需要用到报表表现数据,这些数据有多个维度,需要同时表现出来,同时可能会有大量数据呈现的需求,经过几轮挑选,最终选择了百度的echarts作为报表基础类库.echarts功能强大,界 ...
- 百度echarts使用--y轴label数字太长难以全部显示
问题: 今天遇到个小问题,我们系统前端呈现使用了百度echarts.在绘制折线图的时候,因为数字过大,导致显示出现了问题. 解决方案: 左边y轴的值默认是根据我们填充进去的值来默认分割的,因为原始值就 ...
- 百度ECharts数据绑定诀窍
百度Echarts的功能还是蛮好用的.. 不能说多好但是也不次.. 下边就分享一些数据绑定经验..对在处理过程中的思路有一些帮助... 报表里用的最多的可以说是 饼状图和柱形图.. 饼状图里当然是包括 ...
- 使用百度Echarts制作力导向图
最近项目需求制作一个力导向图来展示企业的画像等关系信息,故想到了百度Echarts的关系图,在这使用Echarts3.0版本来实现.先上效果图,再看代吗 哎,本来想整个工程扔出来,发现好像没地方上传附 ...
- 网页图表类框架(插件)——百度eCharts和Highcharts
ECharts, 缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库, 可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9 /10 ...
- 微信小说分销系统设计之使用百度Echarts地图统计功能统计微信粉丝地域分布情况
/** 转载请保留博客园原地址以及版权声明,请勿恶意修改,本博客中的内容均属于技术交流,请勿用于商业用途,谢谢配合 * 作者:杨浩瑞 QQ:1420213383 独立博客:http://www. ...
随机推荐
- Oracle中的数值处理方法
求绝对值函数 ) from dual; 求平方根函数 ) from dual; 求幂函数 ,3) from dual; 求余弦三角函数 select cos(3.14159) from dual; 求 ...
- android 上传图片
public static String uploadPicture(String url, String uploadFile) { String resultcode = "1& ...
- 应用程序在状态栏展示时间(C#)
private DispatcherTimer _timer; private void SetTimeElaspInStatusBar() { try { _timer = new Dispatch ...
- 内容匹配广告投放技术4:网盟CTR预估(百度文库课程)
原文:http://wbj0110.iteye.com/blog/2043065 该文是百度文库课程<计算广告学之内容匹配广告&展示广告原理.技术和实践>的课程笔记,感谢百度! 课 ...
- java线上服务问题排查
1.业务日志相关 假设系统出现异常或者业务有异常,首先想到的都是查看业务日志 查看日志工具: less 或者more grep tail -f filename 查看实时的最新内容 ps:切忌vim直 ...
- Graphical vi-vim Cheat Sheet and Tutorial
主要内容: VIM编辑器的快捷命令cheat sheet(小抄),一共七张图,简单明了地介绍了vim的快捷命令,相比于满满的图表,分成七小块更易于记住. 更多关于vim的cheat sheet以及相关 ...
- Chrome浏览器内嵌的各种手机模拟器
打开chrome的控制台标签,然后,点击simulator子标签页,选择需要的手机即可,如下图: 模拟器如下: 阅读原文:Chrome浏览器内嵌的各种手机模拟器
- linux下线程调试 ulimit core
在linux 下写线程程序的同学预计都遇到过找bug找到崩溃的情况.多线程情况下bug的追踪实在是不easy. 如今我来介绍一个好用的方法 ulimit core. 先简介一下ulimit是个什么(你 ...
- Linux集群监控工具简介:Ganglia和Nagios
11年时候,曾经对 Ganglia 和 Nagios有一定接触,这是两个用于监视数据中心的工具.这两个工具被大量用于高性能计算(HPC)环境中,但是它们对于其他环境也具有很大的吸引力(例如云.呈现集群 ...
- php之快速入门学习-4(数据类型)
PHP 5 数据类型 String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值). PHP ...