题记:

原先是想用chart.js 这个轻量级来完成我的需求的,结果基于我的数据不规则,所以实现不了.

我的需求:

XX后台系统会产生有些报警日志.

我负责把这些数据按照图标的方式来展示.

这写报警日志,基于时间和报警值来展示.

时间不规则,而且要实时产生和更新我的图表.

这些数据都存在于数据库中.

好了.开始进入正题.

1.首先下载两个js,一个是jquery,另外一个就是Highcharts

下载的地址:

http://www.hcharts.cn/product/download.php

2.在你的页面中引入

 <script src="js/jquery.js"></script>
<script src="js/highcharts.js"></script>
3 <script src="js/exporting.js"></script>

3. 建立一个DIV

 <div id="container"    style="min-width: 310px; height: 558px; margin: 0 auto"></div>

4. 编写js,用js初始化

当然在此之前,基于本土原因,加入了语言和时间设置

 Highcharts.setOptions({
lang:{
contextButtonTitle:"图表导出菜单",
decimalPoint:".",
downloadJPEG:"下载JPEG图片",
downloadPDF:"下载PDF文件",
downloadPNG:"下载PNG文件",
downloadSVG:"下载SVG文件",
drillUpText:"返回 {series.name}",
loading:"加载中",
months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
noData:"没有数据",
numericSymbols: [ "千" , "兆" , "G" , "T" , "P" , "E"],
printChart:"打印图表",
resetZoom:"恢复缩放",
resetZoomTitle:"恢复图表",
shortMonths: [ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec"],
thousandsSep:",",
weekdays: ["星期一", "星期二", "星期三", "星期三", "星期四", "星期五", "星期六","星期天"]
},
global : {
useUTC : false
}
});

数据要从后台取,所以在初始化属性的时候,不加数据列

 var options = {
chart: {
renderTo:'container',
type:'spline',
},
title: {
text: '参数监控记录',
x: -20 //center
},
xAxis:{
type : 'datetime',
title : {
text : "采集时间"
},
dateTimeLabelFormats: {
millisecond:"%M:%S.%L",
second:"%H:%M:%S",
minute:"%d %H:%M",
hour:", %m-%d %H",
day:"%Y-%m-%d,%A",
week:"%A",
month:"%Y-%M",
year:"%Y"
},
labels : {
enabled : true,
step : 2,
//formatter : function(){
// return this.value;
//}
}
},
yAxis: {
title: {
text: '参数值'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}],
min : 0,
max : 100
},
series: [],
tooltip: {
headerFormat: '<b>{series.name}</b><br>',
pointFormat: '{point.x:%y-%m-%d %H:%M:%S.%L} : {point.y:.2f}',
crosshairs: [{
width: 2,
color: 'green'
}, {
width: 2,
color: 'green'
}],
positioner: function() {
return {
x: 70,
y: 55
}
}
}, credits:{
enabled:true, // 版权信息
text:"XXXX有限公司",
href:"<%=basePath%>" + "home.do"
}, plotOptions: {
spline:{
dataLabels: {
enabled: true,
format : '{y:.2f}'
},
animation:false,
},
},
};

后台代码就是定时从后台取数据

 //初始函数,设置定时器,定时取数据
$(function () {
queryData(0); var i=0;
var timer = setInterval(function(){
i++;
if(i>=3) {i=0;}
queryData(i);
},10000); //停止刷新
$("button").click(function(){
clearInterval(timer);
});
}); var categories = [];
var datas = []; //Ajax 获取数据并解析创建Highcharts图表
function queryData(index) {
$.ajax({
url:"getmonitorparamgroup.do?index=" + index,
type:'get',
dataType:"json",
success:function(data) { if (data === null) {
swal("无数据","","info");
return;
} //for(x in data){
//options.series[x].type = data[x].type;
//options.series[x].data = data[x].data;
options.series = data;
//} //$.each(data,function(i,n){
// categories[i] = n[1];
// datas[i] = n[2]*1;
//});
//options.xAxis.categories = categories;
//options.series[0].data = datas; chart = new Highcharts.Chart(options);
}
});
}

这是上面的前台代码.后台这接受请求.组建成一定的格式.把数据负责给series就好.

Highcharts 的实际实践一的更多相关文章

  1. 网页图表Highcharts实践教程之外层图表区

    网页图表Highcharts实践教程之外层图表区 Highcharts图表区 图表区是图表的基本区域.所有的数据和图形都是绘制在图表区中.从图形绘制范围来分,图表区域分为外层图表区和绘图区.本章将详细 ...

  2. 网页图表Highcharts实践教程之图表代码构成

    网页图表Highcharts实践教程之图表代码构成 Highcharts第一个实例 下面我们来实现本书的第一个Highcharts实例. [实例1-1]下面来制作北京连续一周最高温度折线图.操作过程如 ...

  3. 网页图表Highcharts实践教程之认识Highcharts

    网页图表Highcharts实践教程之认识Highcharts 认识Highcharts Highcharts是国际知名的一款图表插件.它完全使用Javascript编写实现.其结构清晰,使用简单.开 ...

  4. 网页图表Highcharts实践教程之标签组与载入动画

    网页图表Highcharts实践教程之标签组与载入动画 Highcharts标签组 在图表的大部分元素都提供了标签功能.但很多时候,我们需要额外说明一些信息.这个时候借助原有的图表元素的标签功能就不是 ...

  5. 网页图表Highcharts实践教程标之添加题副标题版权信息

    网页图表Highcharts实践教程标之添加题副标题版权信息 Highcharts辅助元素 辅助元素图表的非必要元素,如标题.版权信息.标签.载入动态.它们不和图表数据发生关联,只是额外说明一些基本信 ...

  6. 网页图表Highcharts实践教程之图表区

    网页图表Highcharts实践教程之图表区 网页图表Highcharts图表区 图表区是图表的基本区域.所有的数据和图形都是绘制在图表区中.从图形绘制范围来分,图表区域分为外层图表区和绘图区.本章将 ...

  7. ​网页图表Highcharts实践教程标之加入题副标题版权信息

    ​网页图表Highcharts实践教程标之加入题副标题版权信息 Highcharts辅助元素 辅助元素图表的非必要元素.如标题.版权信息.标签.加载动态.它们不和图表数据发生关联,仅仅是额外说明一些基 ...

  8. ​网页图表Highcharts实践教程之标签组与加载动画

    ​网页图表Highcharts实践教程之标签组与加载动画 Highcharts标签组 在图表的大部分元素都提供了标签功能.但非常多时候,我们须要额外说明一些信息.这个时候借助原有的图表元素的标签功能就 ...

  9. Highcharts图表导出为pdf的JavaWeb实践

    写给读者的话^_^: 众所周知,基于Highcharts插件生成的svg图片组(注意这里鄙人指的组是若干图有序组合,并非一张图片,具有业务意义)导出为PDF文档是有难度滴.鄙人也曾“异想天开”用前端技 ...

随机推荐

  1. 传递引用类型参数的两种方式(转自 MSDN)

    引用类型的变量不直接包含其数据:它包含的是对其数据的引用.当通过值传递引用类型的参数时,有可能更改引用所指向的数据,如某类成员的值(更改属性的值),但是无法更改引用本身的值:也就是说,不能使用相同的引 ...

  2. maven项目修改java编译版本的方式

    背景 使用 maven 3.x 安装到本地后,创建的项目一般都是基于JDK1.5版本.而目前大多数的项目已经升级到1.6或以上,尤其是Servlet3.0 已经要求Java6或以上版本的环境,往往需要 ...

  3. Netflix Falcor获取JSON数据

    Netflix开源了JavaScript库Falcor,它为从多个来源获取JSON数据提供了模型和异步机制. Netflix利用Falcor库实现通过JSON数据填充他们网页应用的用户界面.所有来自内 ...

  4. C# 深拷贝通用方法

    C#深拷贝通用方法(引用类型的拷贝) /// <summary> /// 深度COPY /// </summary> /// <typeparam name=" ...

  5. grunt集成自动启动

    Grunt可以执行像压缩, 编译, 单元测试, 代码检查以及打包发布的任务. 本文介绍使用Grunt实现nodejs程序自启动功能. 目录: Grunt介绍 Grunt安装 Grunt使用 Grunt ...

  6. 黄聪:详解 ManualResetEvent(转)

    原文:http://www.cnblogs.com/li-peng/p/3291306.html 今天详细说一下ManualResetEvent 它可以通知一个或多个正在等待的线程已发生事件,允许线程 ...

  7. url中参数以及callback后面的串

    最近在写一个京东的爬虫,在模拟其http请求访问评论时,遇到http://club.jd.com/productpage/p-1419543-s-0-t-0-p-0.html?callback=jQu ...

  8. Linux查看系统资源使用情况(转)

    概述: 用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O ...

  9. Android主流UI开源库整理(转载)

    http://www.jianshu.com/p/47a4a7b99364 标题隐含了两个层面的意思,一个是主流,另一个是UI.主流既通用,一些常规的按钮.Switch.进度条等控件都是通用控件,因此 ...

  10. (转载)C#中使用GUID

    原文地址:http://www.cnblogs.com/dongqi/archive/2008/10/13/1310128.html GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同 ...