项目中使用ECharts插件实现统计功能
一、前端界面
// 界面中定义一个div,放图表
<div id="box" style="width: 600px;height:400px;padding: 12px;"></div> // 引入js文件
<script src="${_b}/themes/${_sysTheme}/echarts/echarts.js"></script> // 配置ECharts插件(这个实现的是多条折线图)
<script language="javascript">
// 基于准备好的dom,初始化echarts实例
var echartsWarp= document.getElementById('box');
var resizeWorldMapContainer = function () {//用于使chart自适应高度和宽度,通过窗体高宽计算容器高宽
echartsWarp.style.width = window.innerWidth-70+'px';
echartsWarp.style.height = window.innerHeight-100+'px';
};
resizeWorldMapContainer ();//设置容器高宽
var myChart = echarts.init(echartsWarp);
var option = {
title: {
text:"访问统计"
},
legend: {
data: ['ip', '访问次数']
},
toolbox: { //可视化的工具箱
show: true,
right: "10%",
feature: {
restore: { //重置
show: true
},
saveAsImage: {//保存图片
show: true
},
}
},
/* 鼠标悬浮时显示数据 */
tooltip : {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
xAxis: {
data: [
<#if spl?exists>
<#list spl as count>
"${count.date?default('')}",
</#list>
</#if>
]
},
yAxis: {},
series: [
{
name: 'ip',
type: 'line',
barWidth: '30%',
data: [
<#if spl?exists>
<#list spl as count>
${count.ip_num?default('')},
</#list>
</#if>
]
},
{
name: '访问次数',
type: 'line',
barWidth: '30%',
data: [
<#if spl?exists>
<#list spl as count>
${count.fw_num?default('')},
</#list>
</#if>
]
}],
}
myChart.setOption(option);
</script>
二、后台控制器Controller
@SuppressWarnings("null")
@RequestMapping(value="/*/fwtjEcharts",method=RequestMethod.POST)
public String fwtjEcharts(
@RequestParam(value = "beginDate", required = true) String beginDate,
@RequestParam(value = "endDate", required = true) String endDate,
HttpServletRequest request, HttpServletResponse response,
ModelMap modelMap) throws SQLException, ParseException {
List<Map<String, Object>> counts = getCounts(beginDate, endDate,request);
modelMap.addAttribute("spl", counts);
modelMap.addAttribute("beginDate", beginDate);
modelMap.addAttribute("endDate", endDate);
return "fwtj/fwtjEcharts";
}
项目中使用ECharts插件实现统计功能的更多相关文章
- django项目中使用bootstrap插件的分页功能。
官网下载bootstrap插件放到项目中的static文件中 路由 path('blog-fullwidth/', login.fullwidth,name='fullwidth'), 前端页面引入 ...
- Django项目中使用plupload插件实现上传图片功能
首先下载plupload插件放在static静态文件下面,官方地址:https://www.plupload.com/ 项目根目录下创建media文件夹用来存放上传的图片,配置settings文件,添 ...
- 若依项目整合eCharts实现图表统计功能
eCharts是一款强大的图表统计工具,具体介绍可查看其官网 http://echarts.baidu.com/echarts2/index.html 下面记录一下如何在若依项目中使用eCharts. ...
- 在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示
在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示) 1.使用npm安装依赖 npm install --save codemirror; 2.在页面中放入如下代码 ...
- 项目中整合第三方插件与SpringMVC数据格式化关于ip地址
一.Bootstrap 响应式按钮 <div calss="col-sm-2"> <button class="btn btn-default btn- ...
- Vue+Typescript项目中使用echarts
方案一:推荐 在typescript+Vue的项目中引用echarts,为了加强引用,引入echarts和@types/echarts两个包,一个是工程依赖,一个是声明依赖. npm install ...
- 在react项目中使用ECharts
这里我们要在自己搭建的react项目中使用ECharts,我们可以在ECharts官网上看到有一种方式是在 webpack 中使用 ECharts,我们需要的就是这种方法. 我们在使用ECharts之 ...
- 实战:vue项目中导入swiper插件
版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4.常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: n ...
- vue-cli项目中引入第三方插件
前言 最近有小伙伴问道如何在vue-cli项目中引入第三方插件或者库,例如如果想在项目中使用jQuery中的Ajax请求数据呢?或者我想使用Bootstrap框架呢?等等这些问题,本篇博客将带你学习如 ...
随机推荐
- JAVA对list集合进行排序Collections.sort()
对一个集合中的对象进行排序,根据对象的某个指标的大小进行升序或降序排序.代码如下: // 进行降序排列 Collections.sort(list, new Comparator<ResultT ...
- redis 有序集合类型
- Ubuntu 12.04 the system is running in low-graphics mode
1.出现问题如图所示: 2.解决方案: Ctrl + Alt + F1 df -h 输入密码,到了这一步,也是可以使用terminal,那么没有图形界面也是可以的 cd /etc/X11 sudo c ...
- xshell 连接虚拟机过程
(1)Ctrl+Shift+T 打开终端 terminal (2)ifconfig得到ip网络地址 (3)ssh安装已经打开ssh服务 (4)安装openssh-server sudo apt ins ...
- MySQL 中while loop repeat 的基本用法
-- MySQL中的三中循环 while . loop .repeat 求 1-n 的和 -- 第一种 while 循环 -- 求 1-n 的和 /* while循环语法: while 条件 DO 循 ...
- 大数据(1)初始hadoop
1.hadoop模型如下: (上图为Hadoop1.x的布局) (Hadoop2.x较Hadoop1.x,多了YARN) Hadoop框架,是一个庞大的生态系统. 或者我们可以这样理解: 可以把整个体 ...
- CDH4.5.0下安装snappy
编译源代码 http://www.cnblogs.com/chengxin1982/p/3862289.html 测试参考 http://blog.jeoygin.org/2012/03/java-c ...
- Android笔记(adb命令--reboot loader)
Android 的机器通过adb进入升级模式的方法 # adb shell # reboot loader 通过上面两个命令就进入升级模式了,通过工具升级就好了 为什么会写这简单的一篇呢?因为今天干了 ...
- Spring/Spring boot中静态变量赋值
情形1:静态变量为自动注入的对象 解决方案:设置两个变量,非静态变量使用@resource注入Bean,然后使用@PostConstruct在Spring初始化Bean成功后为静态变量赋值 @Comp ...
- BIO与NIO
BIO与NIO 1.传统BIO (1)特点 面向数据流 阻塞式传输 一个客户端对应一个线程 在客户机增多的情况下,线程资源随之增多,会造成cpu资源枯竭 (2)需求 客户机向服务器输出字符串,逐一 ...