在做项目时,用highcharts做过曲线图,X轴是从后台获取的时间数据,Y轴是从后台获取的Int型数据

1.我的后台数据封装成json格式,数据较多,展示部分数据

2.曲线图的展示

3.前端jsp页面代码

//引入的js

<!-- 曲线图 -->
<script src="<%=basePath%>Bootstrap/assets/js/highcharts/highcharts.js"></script>
<script src="<%=basePath%>Bootstrap/assets/js/highcharts/funnel.js"></script>
<script src="<%=basePath%>Bootstrap/assets/js/highcharts/highcharts-more.js"></script>

<div id="containerCall" style="width:80%;height:400px"></div>

var chart;

//呼叫量曲线图
Highcharts.setOptions( {
global : {
useUTC : false
}
});
pictureCall(0);                    //我这里需要传值,因为我有多个图表,不需要则不用传参

//呼叫量方法
function pictureCall(num){
var startStr= $("#search_graph_startDate").val()+" "+$("#search_graph_startTime").val();
var endStr= $("#search_graph_endDate").val()+" "+$("#search_graph_endTime").val();

optionsCall = {
chart : {
renderTo : 'containerCall',                       //此处为显示曲线图处的div的id
type : 'spline',
animation : Highcharts.svg,
marginRight : 10
},
plotOptions :{
cursor: 'pointer',
series: {
events:{
click:function(event){                        //点击曲线名隐藏,再点显示

}
}
}

},
credits: {
enabled: false                        //右下角不显示highcharts的graphO,为true则显示highcharts的图标
},
title : {
text : 'fs设备呼叫量显示图'
},
xAxis : {
type : 'datetime'
},
yAxis : {
title : {
text : ''
},
allowDecimals:false,
plotLines : [ {
value : 0,
width : 1,
color : '#808080'
} ]
},
tooltip : {
formatter : function() {
return '<b>'
+ this.series.name
+ '</b><br/>'
+ Highcharts.dateFormat(
'%Y-%m-%d %H:%M:%S', this.x)
+ '<br/>'
+ Highcharts.numberFormat(this.y, 2);
}
},
exporting : {
enabled : false
},
series:[]
},

$.ajax({
url : '<%=basePath%>resource/getDeviceSampleData.action',
type : 'POST',
dataType : 'json',
data:{
type:'call',
startTime:startStr,
endTime:endStr,
timeNum:num
},
success : function(result) {
$.each(result, function(index, element) {
var data1=new Array();
var timeAndValue =element.temp ;
for(var i=0;i<timeAndValue.length;i++){

//因为后台获取的时间,前端无法识别,所以要再次转换,若能识别,或者不是时间数据,此步骤可省略
var backTime = new Date(timeAndValue[i].time);
var preTime=backTime.getTime()-8*3600*1000;                     //UTC 输出为本地时间,会+8小时
var tt=new Date(preTime);

data1.push({
x: Date.UTC(tt.getFullYear(),tt.getMonth(),tt.getDate(),tt.getHours(),tt.getMinutes(),tt.getSeconds()),      
y: timeAndValue[i].tmpValue
});
}
optionsCall.series.push({"name": element.name, "data": data1});
});
chart = new Highcharts.Chart(optionsCall);
},
error : function(XMLHttpRequest, textStatus, errorThrown){
alert("error:"+textStatus);
}
});
}

官网highcharts曲线图地址:  http://v1.hcharts.cn/demo/index.php?p=10&theme=default

highcharts曲线图的更多相关文章

  1. Asp.net mvc4 + HighCharts + 曲线图

    前端代码: @{ Layout = null;}<!DOCTYPE html><html><head> <title></title> &l ...

  2. DWR(AJAX)+Highcharts绘制曲线图,饼图

    基本需求: 1. 在前台会用DWR框架(或者AJAX)调用Java后台代码获取要在Hightcharts展示的数据 2. 了解JSON(JavaScript Object Notation)的格式 3 ...

  3. Highcharts 总结

    一.Highcharts  series属性 1.下面是一个基本曲线图的例子: <html> <head> <meta charset="UTF-8" ...

  4. Highcharts 配置选项详细说明

    Highcharts 配置选项详细说明 Highcharts 提供大量的配置选项参数,您可以轻松定制符合用户要求的图表,本章节为大家详细介绍Highcharts 配置选项使用说明: 参数配置(属性+事 ...

  5. Highcharts 使用总结

    一.Highcharts  series属性 1.下面是一个基本曲线图的例子: <html> <head> <meta charset="UTF-8" ...

  6. Highcharts 基本曲线图

    基本曲线图实例 文件名:highcharts_line_basic.htm <html> <head> <meta charset="UTF-8" / ...

  7. 使用Highcharts生成折线图与曲线图

    折线图与曲线图可以显示随时间而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势.本文将结合Highcharts,生成一个城市气温变化折线图和一个随时间动态即时显示CPU走势的曲线图. 如果 ...

  8. 在.NET MVC 中使用Highcharts+Ajax+Json生成动态曲线图,柱状图,饼图

    开发背景: 今天在做一个关于商城后台金额报表统计的功能,为了让数据直观明了并且这个报表还需要在手机端自适应所以我决定采用HIghCharts插件下的的报表,大家也可以去了解一下免费开源主要是好看. 首 ...

  9. Highcharts绘制曲线图小结

    Higcharts绘制曲线图很好用! 虽然说Highcharts官网有API 刚接触这个领域,学有心得,理解不到位之处希望大家多多指教! 项目绘制的曲线是:平均水位随时间的变化而改变的水情走势图. 主 ...

随机推荐

  1. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  2. Entity Framework学习笔记——配置EF

    初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF ...

  3. OAuth认证

    OAuth简介 OAuth是在不提供用户名和密码的情况之下,授权第三方应用访问Web资源的安全协议. OAuth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定 ...

  4. 解决CentOS无法解析域名的问题

    用SecureCRT连接到CentOS上,发现ping IP通,ping地址不同 [root@zyt-ceshi2 ~]# ping www.baidu.comping: unknown host w ...

  5. Web APi之安装配置实现Cors跨域

    参考:http://www.cnblogs.com/CreateMyself/p/4836628.html 1.通过NuGet下载程序包,搜索程序包[Microsoft.AspNet.WebApi.C ...

  6. 利用cubieboard设置samba打印服务器

    #注意安装下面软件前,先将cubieboard的动态地址改为静态地址! apt-get install samba #安装samba vi /etc/samba/smb.conf //配置 workg ...

  7. Linux 查找文件

    find 查找目录 -name "文件名"find / -name "php.ini"locate 文件名locate php.ini 一:locate命令 l ...

  8. BeanUtils.populate的作用

    它是在org.apache.commons.beanutils.BeanUtils包中的一个方法. 方法的作用:将一些 key-value 的值(例如 hashmap)映射到 bean 中的属性.   ...

  9. 9.7 js进阶总结2

    数组元素添加 将一个或多个新元素添加到数组结尾,并返回数组新长度 var week_len = week.push(‘星期四’,‘星期五’); 将一个或多个新元素添加到数组开始,数组中的元素自动后移, ...

  10. 关于c#调用c编译器

    这个已经过了好久了具体的实现代码没得,但是大致思路自己整理了一下: 首先要调用c编译器,process.start(): 之后需要自己来进行编译器对代码执行的命令.