一、前端界面

// 界面中定义一个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插件实现统计功能的更多相关文章

  1. django项目中使用bootstrap插件的分页功能。

    官网下载bootstrap插件放到项目中的static文件中 路由 path('blog-fullwidth/', login.fullwidth,name='fullwidth'), 前端页面引入 ...

  2. Django项目中使用plupload插件实现上传图片功能

    首先下载plupload插件放在static静态文件下面,官方地址:https://www.plupload.com/ 项目根目录下创建media文件夹用来存放上传的图片,配置settings文件,添 ...

  3. 若依项目整合eCharts实现图表统计功能

    eCharts是一款强大的图表统计工具,具体介绍可查看其官网 http://echarts.baidu.com/echarts2/index.html 下面记录一下如何在若依项目中使用eCharts. ...

  4. 在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示

    在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示) 1.使用npm安装依赖 npm install --save codemirror; 2.在页面中放入如下代码 ...

  5. 项目中整合第三方插件与SpringMVC数据格式化关于ip地址

    一.Bootstrap 响应式按钮 <div calss="col-sm-2"> <button class="btn btn-default btn- ...

  6. Vue+Typescript项目中使用echarts

    方案一:推荐 在typescript+Vue的项目中引用echarts,为了加强引用,引入echarts和@types/echarts两个包,一个是工程依赖,一个是声明依赖. npm install ...

  7. 在react项目中使用ECharts

    这里我们要在自己搭建的react项目中使用ECharts,我们可以在ECharts官网上看到有一种方式是在 webpack 中使用 ECharts,我们需要的就是这种方法. 我们在使用ECharts之 ...

  8. 实战:vue项目中导入swiper插件

    版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4.常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: n ...

  9. vue-cli项目中引入第三方插件

    前言 最近有小伙伴问道如何在vue-cli项目中引入第三方插件或者库,例如如果想在项目中使用jQuery中的Ajax请求数据呢?或者我想使用Bootstrap框架呢?等等这些问题,本篇博客将带你学习如 ...

随机推荐

  1. jmeter参数化读取数据进行多次运行

    jmeter参数化数据,可以使用csv,还可以使用数据库的方式 1.使用csv读取数据 在线程组中,配置原件中,选择csv data set config 1.本地创建了16个数据,存为test.tx ...

  2. POJ-2352 && hdu-1541 Stars---树状数组的运用

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1541 题目大意 : 在坐标上有n个星星,如果某个星星坐标为(x, y), 它的左下位置为:(x0,y ...

  3. 【洛谷4459】[BJOI2018] 双人猜数游戏(动态规划)

    点此看题面 大致题意: 一直有两个数\(m,n\),已知\(s\le m\le n\),且\(Alice\)和\(Bob\)二个"最强大佬"各知道\(mn\)和\(m+n\).每轮 ...

  4. 种类并查集,Poj(1703)

    题目链接:http://poj.org/problem?id=1703 第一次做种类并查集,有的地方还不是很清楚,想了一上午,有点明白了,这里记录一下. 这里我参考的红黑联盟的题解. 关键:种类并查集 ...

  5. ios RSA 验签加密解密

    关于公钥和私钥的生成,网上有很多本地生产的方法,我遇到的问题是,按照网上生产的方式生成7个文件,本地使用没有问题,但是和后台交互就不行了. 发现生成公钥和私钥的没有那么麻烦,使用在线生产工具就能使用, ...

  6. c#无限循环

    for( ; ; ) 最快的 while(true) while(1)             ?好像也是不过就是扫到的 public bool a= true; 中断一个循环while(a) a=f ...

  7. 字符串比较操作类StringComparer

    StringComparer这个字符串比较操作类.它继承了四种接口IComparer, IEqualityComparer, IComparer<string>, IEqualityCom ...

  8. Vue项目架构设计与工程化实践

    摘自Berwin<Vue项目架构设计与工程化实践>github.com/berwin/Blog/issues/14 1.Vue依赖套件 vuex:项目复杂后,用vuex来管理状态 elem ...

  9. spring-bean(全生命周期)

    作用:在初始化和销毁bean时候,做一些处理工作是调用生命周期方法 格式: <bean id=”该生命周期的名称” class=”提供方法的类的全路径” init-methood=”init” ...

  10. linux系统ext文件系统知识

    ext2文件系统细节 我们都知道,操作系统中的数据分为文件内容和文件属性两部分,其中文件内容就是文件的实体数据,而文件属性就是文件类型.权限.属主.修改时间等信息.操作系统会将上述文件的内容放入磁盘文 ...