通过前两章的学习,相信大家对highcharts已经有了初步的了解。这一章将通过一个例子来模拟Highcharts如何实现经常变化的数据显示。

比如说股票的涨停、实时篮球比分以及A选手和B选手的支持率。这样的例子在生活中有很多,就不一一列举了。
        实现的思路主要还是通过setInterval()方法,隔几秒刷新数据,来实现动态数据的显示。废话不多说,直接上代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
$(function() {
 // 设置全局的时区
 Highcharts.setOptions({
 global : {
 useUTC : false
 }
 });
new Highcharts.Chart({
 chart : {
 renderTo : 'gridTable2', // 放置图表的DIV容器对应页面的id属性
 type : 'spline', // 图表类型line, spline, area, areaspline
 // 事件
 events : {
 load : function() {
 var series = this.series[0];
 // 每隔1秒钟,图表更新一次,y数据值在0-100之间的随机数
 setInterval(function() {
 var x = (new Date()).getTime();
 var y = Math.random() * 100;
 series.addPoint([ x, y ], true, true);
 }, 1000);
 
},
 }
 },
 title : {
 text : '模拟心电图' // 图表标题
 },
 subtitle : {
 text : 'XXXX' // 副标题
 },
 // x轴
 xAxis : {
 // X轴为日期时间类型
 type : 'datetime',
 // X轴标签间隔
 tickPixelInterval : 50
 },
 // y轴
 yAxis : {
 title : '',
 max : 100, // Y轴最大值
 min : 0
 },
 // 右下角显示的LOGO
 credits : {
 text : 'demo', // 设置LOGO区文字
 href : 'http://www.javakfz.com' // 设置LOGO链接地址
 },
 // 是否启用导出功能,默认为true
 exporting : {
 enabled : true
 },
 legend : {
 enabled : false
 },
 // 当鼠标悬置数据点时的格式化提示
 tooltip : {
 crosshairs : true,
 formatter : function() {
 return '心率
' + Highcharts.dateFormat('%H:%M:%S', this.x)
 + '
' + Highcharts.numberFormat(this.y, 2);
 }
 },
 plotOptions : {
 column : {
 dataLabels : {
 enabled : true
 },
 pointPadding : 0.2,
 borderWidth : 0
 }
 },
 // 设置默认数据
 series : [ {
 data : (function() { // 设置默认数据,
 var data = [];
 var time = (new Date()).getTime();
 var i;
 
for (i = -19; i <= 0; i++) {
 data.push({
 x : time + i * 1000,
 y : Math.random() * 100
 });
 }
 return data;
 })()
 } ]
 });
});

主要的代码还是没有多少变化,最重要的是在events里面加入了一个load方法。再利用setInterval方法每隔一秒更新图像。效果图:

图像每隔一秒就会发生变化。当然这只是一个模拟图。通过前面几章,大家可以发现形成图像的数据都是js里面定好的。可不可以用动态数据作为数据源呢?比如说数据都是从数据库查询得到的。答案是肯定的,下一章就着重讲解利用Struts2+json+highCharts生成柱状图。

原创文章,转载请注明: 转载自java开发者

本文链接地址: highCharts图表应用-模拟心电图

highCharts图表应用-模拟心电图的更多相关文章

  1. Highcharts图表库

    Highcharts图表库 1.相关网址: 1)官方主页:https://www.hcharts.cn/ 2)Highcharts演示:https://www.hcharts.cn/demo/high ...

  2. highcharts图表中级入门之xAxis label:X(横)坐标刻度值过长截断多行(换行)显示问题说明

    在使用highcharts图表的过程中,总会碰到这样一个很是棘手的问题,横坐标刻度值太长,在不换行显示的情况下显得格外拥挤.虽然针对这一问题是可以对其刻度值进行旋转以此来避开显示拥挤问题[如何让hig ...

  3. 转:Highcharts图表控件的使用

    摘要 Highcharts图表控件是目前使用最为广泛的图表控件.本文将从零开始逐步为你介绍Highcharts图表控件.通过本文,你将学会如何配置Highcharts以及动态生成Highchart图表 ...

  4. 关于Highcharts图表组件动态修改属性的方法(API)总结之Series

    Highcharts图表组件内的Series很重要,如果说Categries是其大脑,那么Series就是其心脏.这两者才是Highcharts图表组件的重中之重啊.接下来就为大家介绍关于设置Seri ...

  5. highCharts图表应用-实现多种图表的显示

    在数据统计和分析业务中,有时需要在一个图表中将柱状图.饼状图.曲线图的都体现出来,即可以从柱状图中看出具体数据.又能从曲线图中看出变化趋势,还能从饼状图中看出各部分数据比重.highCharts可以轻 ...

  6. 在asp.net中如何自己编写highcharts图表导出到自己的服务器上来

    1.准备工作:网上下载highcharts导出的关键dll.      1).Svg.dll:因为highcharts的格式其实就是一个xml,采用svg的方式画图:      2).itextsha ...

  7. highcharts图表组件入门教程:如何监听柱状图柱子点击事件动态更新当前数据点数值和所对应X轴刻度

    highcharts图表组件入门教程:如何监听柱状图柱子点击事件动态更新当前数据点数值和所对应X轴刻度 作者:highcharts | 时间:2014-6-11 14:07:05 | [小  大] | ...

  8. HighCharts 图表高度动态调整

    HighCharts 图表高度动态调整 前言 在使用HighCharts控件过程中,发现图表可以自适应div的高度,无法根据图表x.y轴的数量动态调整div高度,否则图标挤在一起,看起来非常不美观,也 ...

  9. jQuery HighchartsTableHTML表格转Highcharts图表插件

    版权申明jQuery HighchartsTable 由 PMSIpilot 创建,中文使用文档由Highcharts中文网发布本文由Theo.红烧鸡翅膀.Mr.Zhang 翻译整理,版权归Highc ...

随机推荐

  1. jsp实现仿QQ空间新建多个相冊名称,向相冊中加入照片

    工具:Eclipse,Oracle,smartupload.jar.语言:jsp,Java:数据存储:Oracle. 实现功能介绍: 主要是新建相冊,能够建多个相冊,在相冊中加入多张照片,删除照片,删 ...

  2. C++ String和其他类型互换

    在C++中如何实现String和其他类型互换呢?最好的方式是使用stringstream,下面简单介绍下: 1.其他类型转换为String #include <sstream> strin ...

  3. js foreach函数 注意事项(break、continue)

    foreach API说明: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Arra ...

  4. 关于华为x1 7.0无法从eclipse发布的更新as发布的apk

    目前只在华为x1 7.0手机上发现这个问题,坑大了. MediaPad 10 FHD 华为这款可以安装. HUAWEI G525-U00 华为这款也可以安装. 目前公司就这几款华为手机了. 原因是 在 ...

  5. JavaScript入门:002—JS代码放置的位置

    JavaScript在页面中使用,那么这些JS代码应该放在什么位置呢?以下来看一下. 一般来说有两种方式.写在界面上和使用.js文件.1.1界面上的Head部分能够直接放在head标签内,例如以下代码 ...

  6. c++对象模型介绍

    http://www.cnblogs.com/skynet/p/3343726.html

  7. oracle 查询 函数练习2

    /*以下代码是对emp表/dept表/salgrade表进行显示宽度设置 */col empno for 9999;col ename for a10;col job for a10;col mgr ...

  8. <转>LuaTinker的bug和缺陷

    LuaTinker的bug和缺陷 LuaTinker是一套还不错的C++代码和Lua代码的绑定库,作者是韩国人Kwon-il Lee,作者应该是参考了LuaBind后,为了简化和避免过重而实现的.其官 ...

  9. 【转帖】Servlet 3.0 新特性详解

    http://www.ibm.com/developerworks/cn/java/j-lo-servlet30/ Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 ...

  10. 在需要隐藏navigationController控制器

    - (void)viewWillAppear:(BOOL)animated {    [super viewWillAppear:animated]; [self.navigationControll ...