在众多的工业控制系统领域常常会实时采集现场的温度、压力、扭矩等数据,这些数据对于监控人员进行现场态势感知、进行未来趋势预测具有重大指导价值。工程控制人员如果只是阅读海量的数据报表,对于现场整个态势的掌控会十分困难,因此往往希望借助一些图表进行展示,其中趋势图是常用的实时数据展示方式之一。目前实现趋势图、曲线图的工具很多也很成熟,一些是通过CS模式开发的,需要在工程控制人员操作的计算机上安装相应软件,这种方式有其特有的优势,但是有时也有不方便的地方。于是一些基于BS模式的展现方式就自然而然的被广泛应用起来。采用BS模式的展现方式工程控制人员可以通过任何一台可以连接Web服务器的PC,通过常用的浏览器就可以实时的查看当前环境现场的各种指标参数,其便利性是显而易见的。下面我就介绍一下这种BS模式的实时数据展现曲线图的方法。由于本文的目的不是去实现一个现场环境可用的应用产品,因此只是针对涉及的技术进行讲解,起一个指导作用,因此参考者请依据自己项目的实际需要对本文章涉及的代码进行优化使用。
在通过BS系统实现趋势图、曲线图的可选方案很多,本文主要通过Highcharts.com旗下的Highcharts API包来实现。由于此包是通过JS脚本实现的,因此个人认为相对来说适应面可能更好,当然通过诸如jFreeChart这类工具也是可以实现的。
言归正传,我们来讲解如何通过Highcharts API实现趋势图在页面上的呈现。
首先我们需要简单规划一下我们系统的架构。由于实现实时数据的趋势图呈现,因此系统大致我们可以设计成三层:显示层、逻辑层、数据源。如下图所示:
显示层就是将数据呈现给工程控制人员的的展示页面,这层主要由JSP、JS、CSS等文件构成,工程控制人员通过浏览器(诸如IE、火狐等)就能直接看到希望的曲线图。显示层只负责显示,而显示需要的数据是经过一定清洗、规格化的,显示层拿到符合规格化要求的数据后,就可以直接进行显示,并响应和人的交互。数据的清洗、规格化工作都是在逻辑层中实现,逻辑层通过获取的数据源信息,进行必要的数据逻辑转换、数据清洗、数据规格化处理。数据源是一个复杂的重要的,它可以是直接来自下位机的数据通讯,也可以是下位机将数据存储在中间数据库中,也可以是一系列的数据文件。
在本文中只是模拟数据源,并不是实现数据源的读取。并且对应逻辑层的处理,也进行了忽略,这部分内容因为涉及具体的数据获取、清洗、转换、规格化,和具体工程项目的需求有较大关系,加之也不是本文规划的中心,因此此部分代码设计实现本文也不涉及。
显示层的实现涉及到JSON、JQuery、Highcharts,我们首先建立一个标准的Web应用(其实如果作为例子,使用一个html文件也行,此处本人计划后期会扩展本案例,实现后续一些诸如逻辑层的功能,因此建立了一个Web应用工程,有点画蛇添足,还请见谅)。本人采用Netbeans IDE 7.2版本开发(如何用Netbeans IDE开发Web应用请参考本人其它文章),因此建立完成后的工程结构如下:
要使用Highcharts,我们需要导入highcharts.js文件。highcharts.js文件可以从Highcharts官网获得(官网地址:http://www.highcharts.com/),从官网下载的压缩文件中包含有我们开发需要的highcharts.js文件外,还包含一些其它的文件,诸如例子文件等。
Highcharts是使用js来实现的,同时应用到了JQuery技术,因此还需要去获得最新版的JQuery包(官网地址:http://jquery.com/)。
以上两块准备好后,我们将其加入新建的工程中,在工程文件中我们规划了一个放置所有js文件的地方,有一个js目录,将highcharts.js、jquery-1.8.3.min.js文件都放置到此目录下。大家看到我的工程中在js目录下有一个modules子目录,此子目录下放置的exporting.js文件是可有可无的,如果大家要使用将图表导出等功能就需要使用此文件,因此需要导入工程中,否则完全可以不需要。
工程环境准备停当,我们就可以打开本工程的默认,也是唯一的一个jsp页面,对此页面做一个编写修改。主要修改有如下几个地方:
第一,在jsp页面头部引入highcharts.js、jquery-1.8.3.min.js文件,应用代码参考如下:
<scripttype="text/javascript"src="http://zhaowenbinmail.blog.163.com/blog/js/jquery-1.8.3.min.js"></script>
<scriptsrc="http://zhaowenbinmail.blog.163.com/blog/js/highcharts.js"></script>
第二,在jsp页面的Body体中加入一个div元素,highcharts将在这个div元素中绘制曲线图。
<divid="container"style="min-width:100px; height:400px; margin:0auto"></div>
注意:我们为这个div指定了一个id值,这个id值将来对我们很有用,它是使highcharts知道在何处绘制图表的根源。
第三,我们需要在jsp页面中加入我们自己的js文件。这个文件用来实现特定的业务呈现逻辑。
<scripttype="text/javascript"src="http://zhaowenbinmail.blog.163.com/blog/js/chart.js"></script>
现在我来讲解一下我需要实现的业务的大体需求。我需要在页面上显示大桥表面一天24小时的温度变化情况(当然这些温度值的变化本案例中都是通过随机数来产生的)。在我们的很轴方向上需要显示从0点开始到晚上23点的时间刻度,并且要求固定就显示0到23这24个刻度,在纵轴方向显示桥面传感器检测到的本小时内温度最大值,然后模拟时间推移显示每小时的温度变化曲线图。
依据以上需求分析,在页面呈现时,我们就要去读取本天从0点开始到当前时刻的数据,并将数据绘制显示成曲线图。因此我们接下来就要编辑我们自己的js文件——chart.js。在此文件中创建Highcharts对象,通过设置相关的属性来影响曲线图的呈现,使其满足我们的需求要求。
我们首先定义一个全局的图表对象,我们命名为chart,同时示例化Highcharts对象,具体见下面代码:
var chart;
$(function(){
$(document).ready(function(){
chart =newHighcharts.Chart({
chart:{
renderTo:'container',
type:'line',
marginRight:130,
marginBottom:80,
events:{
load:loadTime
}
},
title:{
text:'大桥采集数据',
x:-20
},
subtitle:{
text:'传感器编号: 传感器1',
x:-20
},
xAxis:{
title:{
enabled:true,
text:'时间(小时)'
},
max:23,
min:0,
tickPixelInterval:50
},
yAxis:{
title:{
text:'压力 (℃)'
},
plotLines:[{
value:0,
width:1,
color:'#808080'
}]
},
tooltip:{
formatter:function(){
return'<b>'+this.series.name +'</b><br/>'+
this.x +': '+this.y +'℃';
}
},
legend:{
x:-50,
y:10,
enabled:true
},
exporting:{
enabled:false
},
plotOptions:{
line:{
gapSize:100
}
},
series:[{
name:'最大值',
data: getFirstData()
}]
});
});
});
在上面代码中我们实例化了一个Highcharts对象,并指定了此对象一些属性。在定义中我们可以看到如下代码:
chart:{
renderTo:'container',
type:'line',
marginRight:130,
marginBottom:80,
events:{
load:loadTime
}
}
在这段代码中就知道了图表需要绘制到的div元素,注意看上面红色字体部分。这个地方的container就是jsp页面上div的id值(大家可以回过去查看一下我前面的代码)。
其后指定了这个图表的类型(见上面代码中蓝色字体部分)。这里指定的Line类型,这就会绘制成曲线。
代码中还指定了图表的事件,目前只指定了一个load事件,在图表装载时将会调用执行load时间对应的函数。代码后面的loadTime是我编写的一个js函数,这个函数后面介绍。
通过title、subtitle指定图表的标题、子标题,见下面代码:
title:{
text:'大桥采集数据',
x:-20
},
subtitle:{
text:'传感器编号: 传感器1',
x:-20
},
通过改变这里的设置可以影响图表上显示的效果,显示效果如下图红框选中部分内容。
aaarticlea/png;base64,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" alt="" />
通过xAxis、yAxis设定图表中横坐标、纵坐标的属性。
xAxis:{
title:{
enabled:true,
text:'时间(小时)'
},
max:23,
min:0,
tickPixelInterval:50
},
yAxis:{
title:{
text:'压力 (℃)'
},
plotLines:[{
value:0,
width:1,
color:'#808080'
}]
},
通过在xAxis、yAxis中设置title属性控制横坐标、纵坐标上的文字描述显示。
在横坐标中有时我们是需要指定坐标上每个坐标点需要显示的文字内容的,这时我们需要使用到一个categories属性,通过将一个数组值传给categories属性,这样在横坐标上的每个坐标点就会按照指定的属性内容显示坐标点信息。为了实现如上目的,我们需要再设置一个变量,并将这个变量赋予categories属性。详见下:
var x_arr=['0:00','1:00','2:00','3:00','4:00','5:00',
'6:00','7:00','8:00','9:00','10:00','11:00',
'12:00','13:00','14:00','15:00','16:00','17:00',
'18:00','19:00','20:00','21:00','22:00','23:00'];
通过上面代码段我们定义了一个变量,然后看看如何指定到chart对象中,请注意如下代码端中红色部门,就是较前面代码端增加的地方:
xAxis:{
title:{
enabled:true,
text:'时间(小时)'
},
categories:x_arr,
max:23,
min:0,
tickPixelInterval:50
},
现在页面上显示的图表效果如下图所示:
aaarticlea/png;base64,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" alt="" />
横坐标上就是按照我们在x_arr变量中设定的内容显示的。如果设定的内容少于横坐标的坐标点,则前面的坐标点将按x_arr变量中设定内容显示,后面的坐标点将按默认的坐标点信息显示。
工程控制人员通过此曲线图可以知道每个时间点的最高温度情况,但是具体某个点温度是多少,工程人员希望通过将鼠标指向图表中采集点就可以展现出来。要实现这个功能,我们需要在chart对象中指定tooltip属性,见下面代码:
tooltip:{
formatter:function(){
return'<b>'+this.series.name +'</b><br/>'+
this.x +': '+this.y +'℃';
}
},
配置上了这个属性就能得到下图显示的效果:
aaarticlea/png;base64,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*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" alt="" />
当鼠标移动到10点中的采集点时,屏幕上会立即显示当时的温度值。
针对有些应用场合,我们在一个图表中将展示多个线条代表不同的含义,这时就需要通过图例来说明什么颜色线条代表什么含义,这种情况下就需要启用图例说明,要启用图例说明就必须通过如下属性进行配置:
egend:{
x:-50,
y:10,
enabled:true
},
只要使egend对象中的enabled属性设置为true就可以。设置为false,将不显示图例。
上面介绍的是图例基本的属性设置,现在我们需要模拟一些大桥传感器获得的数据,依据这些数据来显示曲线图。在这里我们首先要定义两个js函数,这三个函数就是模拟获取数据的,请看下面:
function loadTime(){
window.setTimeout(getData,TIMEOUT);
}
上面这个函数就是我们在chart对象中设置events中的load事件指定的函数。在本函数中主要启动了一个定时器,在超过指定时间计秒后,将调用函数getData。
function getFirstData(){
var data =[];
var y_mx=Math.round(Math.random()*10);
var i;
for(i =0; i <=0; i++){
data.push({
x: current_time,
y: y_mx
});
if(current_time<=23){
current_time++;
}
}
return data;
}
这个函数是用来模拟初始化chart对象时,获得的大桥桥面温度值。其返回的是一个数组对象,数组中的每个对象包含x、y属性,这两个属性用来告诉chart对象x轴的某个坐标上面的y值是多少,并在此处显示一个坐标点,同时将连接相邻两个坐标点形成曲线。代码中的current_time是一个全局变量,用来对当前采集显示次数进行计数。
function getData(){
var current_x=x_arr[current_time]; //获取最大值
var series_mx = chart.series[0];
var y_mx=Math.round(Math.random()*10); series_mx.addPoint([current_time, y_mx],true,false); current_time++; if(current_time<=23){
window.setTimeout(getData,TIMEOUT);
}
}
上面这个函数其它部分都很简单,关键的一个重点代码是
series_mx.addPoint([current_time, y_mx],true,false);
这一段,这段代码是在chart图表中加入一个新的坐标点。
截至到目前,全部的代码就编写完成,现在运行它,就可以模拟出大桥桥面稳定24小时检测情况的实时趋势图。
其实使用highcharts来做实时趋势图简单的处理还是比较简单的,更多的应用还可以在这些基础应用上进行拓展
<script type="text/javascript">
var x_arr = ['0:00', '1:00', '2:00', '3:00', '4:00', '5:00','6:00', '7:00', '8:00', '9:00', '10:00', '11:00','12:00', '13:00', '14:00', '15:00', '16:00', '17:00','18:00', '19:00', '20:00', '21:00', '22:00', '23:00'];
var chart;
var current_time = 0;
var TIMEOUT = 1000;
$(function () {
$(document).ready(function () {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
marginRight: 130,
marginBottom: 80,
events: {
load: loadTime
}
},
title: {
text: '大桥采集数据',
x: -20
},
subtitle: {
text: '传感器编号: 传感器',
x: -20
},
xAxis: {
title: {
enabled: true,
text: '时间(小时)'
},
categories: x_arr,
max: 23,
min: 0,
tickPixelInterval: 50
},
yAxis: {
title: {
text: '压力 (℃)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' +
this.x + ': ' + this.y + '℃';
}
},
legend: {
x: -50,
y: 10,
enabled: true
},
exporting: {
enabled: false
},
plotOptions: {
line: {
gapSize: 100
}
},
series: [{
name: '最大值',
data: getFirstData()
}]
});
});
});
function loadTime() {
window.setTimeout(getData, TIMEOUT);
}
function getFirstData() {
var data = [];
var y_mx = Math.round(Math.random() * 10);
var i;
for (i = 0; i <= 3; i++) {
data.push({
x: current_time,
y: y_mx
});
if (current_time <= 23) {
current_time++;
}
}
return data;
}
function getData() {
var current_x = x_arr[current_time];
//获取最大值
var series_mx = chart.series[0];
var y_mx = Math.round(Math.random() * 10);
series_mx.addPoint([current_time, y_mx], true, false);
current_time++;
if (current_time <= 23) {
window.setTimeout(getData, TIMEOUT);
}
}
</script>
使用HighCharts实现实时数据展示的更多相关文章
-
性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建
如果用生成jtl文件再分析结果的方式的话,每一次请求就会往jtl里面写一条数据,在进行长时间的稳定性测试的时候,特别是当TPS很高的时候,写入的数据会非常的大,这个时候等稳定性测试完成,再对jtl进行 ...
-
iNeuOS工业互联平台,WEB组态(iNeuView)集成图报组件,满足实时数据图形化展示的需求
目 录 1. 概述... 1 2. 平台演示... 2 3. 应用过程... 3 4. 实时数据展示效果... 5 1. 概述 市场和开源社区有 ...
-
项目总结[2]_svg+ajax+webservice+pSpace sdk实现实时数据的web展示
1.使用svg实现组态画面和动态数据展示 通过js的定时器调用webservice方法获取数据后更新节点数据 /// <summary>启动定时刷新</summary> fun ...
-
使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置)
原文:使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置) 在上一篇中说到了Silverlight下的Socket通信,在最后的时候说到本篇将会结合地图. ...
-
SuperMap 9D 实时数据服务学习笔记
SuperMap 在9月份发布了结合大数据技术的9D新产品,今天就和大家介绍下iServer9D中的实时数据服务. 1.技术框架 结合Spark的streaming流处理框架,将各种数据进行批量处理. ...
-
在DevExpress程序中使用PopupContainerEdit和PopupContainer实现数据展示
在一些数据的即时查询场景中,我们可能需要对输入信息进行模糊查询并进行选择,例如在一些文本输入场景,如输入某个站点编码或者设备编码,然后获取符合的列表供用户选择的场景,本篇随笔介绍在DevExpress ...
-
服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana
服务追踪数据使用 RabbitMQ 进行采集 + 数据存储使用 Elasticsearch + 数据展示使用 Kibana https://www.cnblogs.com/xishuai/p/elk- ...
-
大数据技术之_25_手机APP信息统计系统项目_01_APP 数据生成模块 + 数据收集模块 + 数据处理模块框架搭建 + 业务需求处理 + 数据展示模块 +项目总结 + 问题总结
一 项目概述1.1 角色1.2 业务术语1.3 项目效果展示二 项目需求三 项目概要3.1 项目技术架构3.2 项目目录结构3.3 项目技术选型3.4 项目整体集群规划3.5 创建项目工程四 APP ...
-
手把手教你写带登录的NodeJS爬虫+数据展示
其实在早之前,就做过立马理财的销售额统计,只不过是用前端js写的,需要在首页的console调试面板里粘贴一段代码执行,点击这里.主要是通过定时爬取https://www.lmlc.com/s/web ...
随机推荐
-
Spark Standalone
环境:CentOS 6.6 x64 选用Spark版本 1.4.1.Zookeeper 3.4.6 一.安装 1.Spark运行模式 Local:使用于windows和linux平台(多用于测试,细 ...
-
windows安装Apache HTTP服务器报错:无法启动,因为应用程序的并行配置不正确
Apache HTTP服务器安装后报:无法启动,因为应用程序的并行配置不正确-(已解决) 0条评论 [摘要:本创做品,出自 “深蓝的blog” 专客,迎接转载,转载时请务必说明出处,不然有权穷究版 ...
-
asp.net URL DES加密 什在URL中的使用
DES 加密 有时会有 + = 这些特殊字符串 Server.UrlDecode(Request["UserName"]) //能解决 = 号,但是 +号会变成空格 HttpUt ...
-
【.net 深呼吸】获取日期的干支纪年
其实,中国的农历是用干支纪年法的,“干支”即,十天干与十二地支. 十天干为:甲.乙.丙.丁.戊.己.庚.辛.壬.癸. 十二地支为:子.丑.寅.卯.辰.巳.午.未.申.酉.戌.亥. 十天干的含义如下: ...
-
mysql中的范式与范式——读<;<;高性能mysql>;>;笔记一
对于任何给定的数据库通常都有很多表示方法,从完全的范式化到完全的反范式化,以及两者的折中.在范式化的数据库中,每个事实数据会出现并且只出现一次.相反,在反范式化的数据库中,可能会存储在多个地方. 那什 ...
-
CGI、FastCGI、PHP-FPM联系与区别(理解总结自其他博文)
参考:http://blog.csdn.net/tyrantbear/article/details/52077321 参考:http://mp.weixin.qq.com/s?src=11& ...
-
队列优化的dijkstra
#include<iostream> #include<queue> #include<cstdio> #include<cstring> #inclu ...
-
第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点
前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...
-
js中关于Blob对象的介绍与使用
js中关于Blob对象的介绍与使用 blob对象介绍 一个 Blob对象表示一个不可变的, 原始数据的类似文件对象.Blob表示的数据不一定是一个JavaScript原生格式 blob对象本质上是 ...
-
vs2015多行注释与取消多行注释
注释: 先CTRL+K,然后CTRL+C 取消注释: 先CTRL+K,然后CTRL+U