通过前两章的学习,相信大家对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. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何使用随机数DRAND模块

    DRAND函数可以产生0-1的随机浮点数   DRAND的输入Seed有什么意义?     更多教学视频和资料下载,欢迎关注以下信息: 我的优酷空间: http://i.youku.com/aceta ...

  2. NGUI图集切割代码

    原地址:http://blog.csdn.net/u011440375/article/details/9707491 因为最近工作用NGUI比较多,修改图集时还没原图,有时候需要把图集重新切割开来, ...

  3. Codeforces Round #105 D. Bag of mice 概率dp

    http://codeforces.com/contest/148/problem/D 题目意思是龙和公主轮流从袋子里抽老鼠.袋子里有白老师 W 仅仅.黑老师 D 仅仅.公主先抽,第一个抽出白老鼠的胜 ...

  4. [C/C++]关于C++11中的std::move和std::forward

    http://www.cnblogs.com/cbscan/archive/2012/01/10/2318482.html http://blog.csdn.net/fcryuuhou/article ...

  5. 如何监控MYSQL消耗服务器资源

    http://258xiaolei-sina-com.iteye.com/blog/764665 启动Mysql时加参数--log-slow-queries来记录执行时间超过long_query_ti ...

  6. 对正在运行的mysql进行监控

    对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态. (1)QPS(每秒Query量) QPS = Questions(or Queries) / seconds mysql &g ...

  7. (五)Lucene——中文分词器

    1. 什么是中文分词器 对于英文,是安装空格.标点符号进行分词 对于中文,应该安装具体的词来分,中文分词就是将词,切分成一个个有意义的词. 比如:“我的中国人”,分词:我.的.中国.中国人.国人. 2 ...

  8. c# webbrowser 清除cookie和缓存

    由于缓存文件是特殊的文件,以及WebBrowser与IE版本有关因此删除缓存绝对不可能用一些IO函数就总可以解决的因此我的这些函数在IO操作的基础上,又针对环境进行相应的清理. static clas ...

  9. 【转】C# 视频监控系列(13):H264播放器——控制播放和截图

    本文原文地址:http://www.cnblogs.com/over140/archive/2009/03/30/1421531.html 阿里云栖社区也有相关的视频开发案例:https://yq.a ...

  10. 爬虫1:get请求的翻页及思考

    刚开始接触爬虫,理解还不透彻,说一些初始阶段的想法{1.因为get请求的方式(请求体无数据,不能通过Request.add_data()函数来添加数据,实现对网址翻页:需要直接对网址进行操作来实现翻页 ...