SpringMVC+highstock实现曲线报表
最近项目要做曲线报表,之前用的是生成图片然后传到前端,感觉不是很好,在网上找到资料说highstock就可以而且还可以做类似股票的那种实时的曲线,研究的一段时间把项目问题解决了做个总结:
首先把highstock.js放到项目资源路径下,因为这个需要JQuery,所以jquery-1.7.2.min.js也需要放,而且在页面引用是要先引用jquery-1.7.2.min.js再引用highstock.js,刚开始做的时候没注意页面加载完后不出图。我做的这个图还需要exporting.js,所以也要放进项目资源文件夹中
页面代码:
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/highstock.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/exporting.js"></script>
<script >
$(document).ready(function(){
$("#sub").click(function(){
var names = [];
$("input:checked[name=sms]").each(function(i, e) {
var ks = $(this).val();
if(ks == 1) {
names.push(1, 2);
}
else if (ks == 2){
names.push(3, 4, 5, 6, 7, 8);
}
else if (ks == 3){
names.push(9, 10, 11, 12, 13);
}
else if (ks == 4){
names.push(14, 15, 16, 17, 18, 19, 20);
}
else if (ks == 5){
names.push(21, 22, 23, 24, 25, 26, 27);
}
else if (ks == 6){
names.push(28, 29, 30, 31, 32, 33, 34, 35);
}
else if (ks == 7){
names.push(36, 37, 38, 39, 40, 41);
}
});
var seriesOptions = [],
yAxisOptions = [],
seriesCounter = 0,
colors = Highcharts.getOptions().colors;
$.each(names, function(i, name) {
//后台读取json数据
$.getJSON("<%=request.getContextPath()%>/JSONByAction?name="+name+"toh="+2, function(data) {
//将json数据放入seriesOptions数组
seriesOptions[i] = {
name: name,
data: data
};
seriesCounter++;
if (seriesCounter == names.length) {
//开始绘图
createChart();
}
});
function createChart() {
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'container'
},
rangeSelector : {
selected : 4
},
title : {
text : '湿度显示'
},
credits : {
enabled : false//去掉右下角的标志
},
rangeSelector: {
// 缩放选择按钮,是一个数组。
// 其中type可以是: 'millisecond', 'second', 'minute', 'day', 'week', 'month', 'ytd' (year to date), 'year' 和 'all'。
// 其中count是指多少个单位type。
// 其中text是配置显示在按钮上的文字
buttons: [{
type: 'month',
count: 1,
text: '1月'
}, {
type: 'month',
count: 3,
text: '3月'
}, {
type: 'month',
count: 6,
text: '6月'
}, {
type: 'year',
count: 1,
text: '1年'
},{
type: 'year',
count: 3,
text: '3年'
}, {
type: 'all',
text: '所有'
}],
// 默认选择域:0(缩放按钮中的第一个)、1(缩放按钮中的第二个)……
selected: 1,
// 是否允许input标签选框
inputEnabled: false
},
//右上角日期区间格式化
rangeSelector:{
selected:1,
inputDateFormat:'%Y-%m-%d'
},
xAxis: {
type: 'datetime',
//x轴时间的格式化
dateTimeLabelFormats: {
second: '%Y-%m-%d<br/>%H:%M:%S',
minute: '%Y-%m-%d<br/>%H:%M',
hour: '%Y-%m-%d<br/>%H:%M',
day: '%Y<br/>%m-%d',
week: '%Y<br/>%m-%d',
month: '%Y-%m',
year: '%Y'
}
},
yAxis : {
title : {
text : '湿度'
},
labels: {
formatter: function() {
return (this.value > 0 ? '+' : '') + this.value + '%';
}
}
},
//弹出框的格式化显示
tooltip: {
xDateFormat: '%Y-%m-%d %A',
pointFormat: '<span style="color:{series.color}">{point.name}</span>: <b>{point.y}</b><br/>',
valueDecimals:2
},
series :seriesOptions
});
}
});
});
});
</script>
<div id="container" style="height: 500px; min-width: 600px"></div>
后台其实就简单了,
@SuppressWarnings("rawtypes")
@RequestMapping("/queHumHistory")
@ResponseBody
public Map kan(HttpServletRequest request,HttpServletResponse response){
int id = Integer.parseInt(request.getParameter("region"));
List<TempHumHistory> historyList = historyImpl.queHistoryById(id);
Map<String, Object> modelMap = new HashMap<String, Object>(3);
modelMap.put("total", "1");
modelMap.put("data", historyList);
modelMap.put("success", "true");
return modelMap;
}
要引入的包:
SpringMVC+highstock实现曲线报表的更多相关文章
- Highcharts使用=====通过指定日期显示曲线
1.说明: 利用HighStock显示曲线,在右上角的日期间隔选择好日期后,重新请求后台数据,重新加载曲线. 2.实现方法: 在HighStock的rangeSelector中有一个属性inputDa ...
- Highcharts属性与Y轴数据值刻度显示Y轴最小最大值
Highcharts 官网:https://www.hcharts.cn/demo/highcharts Highcharts API文档:https://api.hcharts.cn/highcha ...
- 【转】风控中的特征评价指标(二)——PSI
转自:https://zhuanlan.zhihu.com/p/79682292 风控业务背景 在风控中,稳定性压倒一切.原因在于,一套风控模型正式上线运行后往往需要很久(通常一年以上)才会被替换下线 ...
- iNeuOS工业互联网操作系统,设备振动状态监测、预警和分析应用案例
目 录 1. 概述... 2 2. 系统部署结构... 2 3. 系统应用介绍... 4 4. 专业分析人员... 8 5. 应用案例分享 ...
- java 进销存 库存管理 销售报表 商户管理 springmvc SSM crm 项目
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- java 进销存 商户管理 系统 管理 库存管理 销售报表springmvc SSM项目
统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM 普 ...
- springmvc poi实现报表导出
1.pom文件: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</ ...
- highcharts与highstock实例
highcharts实例代码 <head> <title>highcharts报表示例</title> <meta http-equiv="Cont ...
- springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪
获取下载地址 QQ 313596790 A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单; 技术:31359679 ...
随机推荐
- java05 选择结构
public static void main(String[] args) { /* * 张浩Java成绩大于90分,老师奖励他iPhone5 ,该怎么做呢? */ Scanner scanner= ...
- python对象(腌制)
python的内置对象类型主要有数字,字符串,列表,元祖,字典,集合等等,在python中,一切皆为对象 #腌制在python中如果我们有一些对象需要持久性存储,并且不丢失我们这个对象的类型与数据,我 ...
- CSS简要内容
1. 简介 用于布局与美化网页(颜色,字体) CSS语言是一种标记语言,不需编译,可直接由浏览器执行 大小写不敏感 CSS定义由选择符.属性.属性取值组成 格式:selector{property:v ...
- git some cookies
*首先得配置和本地的操作实际上都很简单,忽略了:*git 添加远程仓库 git remote add 仓库名 url:*先pull下来,语法 git pull 远程仓库名 远程分支名[:当地分支名], ...
- akka
akka学习 http://www.cnblogs.com/libaoheng/archive/2012/03/19/2406836.html
- VS2010 C++ 优化配置
个人感觉VC6.0太土了,而且有很多bug存在,且微软早就不对其更新.所以,在选择C++编程的时候.使用IDE,VC6.0一段时间以后,我毅然决然的放弃了,觉得还是使用VS2010比较有前途. 但是当 ...
- css与div小结
前些时间学习css与div的课程 什么是css呢 Css 级联样式表或层叠样式表(Cascading Style Sheet) 是能够真正做到 网页表现与内容分离的一种样式设计语言.相对于传统HTML ...
- 64位系统中开启32位应用,特别是OLEDB
IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes IIS ...
- 用dup2和dup产生一份file descriptor 的拷贝
在类Unix操作系统里面,.dup2和dup都通过系统调用来产生一份file descriptor 的拷贝. dup对我来说还很简单 int dup(int filedes); dup2就 ...
- error on line 1 at column 6: XML declaration allowed only at the start of the document
This page contains the following errors: error on line 1 at column 6: XML declaration allowed only a ...