通过前两章的学习,相信大家对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. [LeetCode][Java] Substring with Concatenation of All Words

    题目: You are given a string, s, and a list of words, words, that are all of the same length. Find all ...

  2. .Net Framework 之 托管代码和非托管代码的区别

    一.什么是托管代码(managed code)? 托管代码:是微软的中间语言(IL),即微软中间语言MSIL(Microsoft Interspace Language). “ 源代码→机器码 ”运行 ...

  3. Linux下好用的命令

    split -l 10000 articles.json  将文件按行分成多个文件

  4. 算法笔记_083:蓝桥杯练习 合并石子(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数.求把所有石子 ...

  5. Android Exception 10(server)' ~ Channel is unrecoverably broken and will be disposed!)

    08-11 19:22:35.028: W/MemoryDealer(2123): madvise(0x43e16000, 12288, MADV_REMOVE) returned Operation ...

  6. Android版俄罗斯方块的实现

    学习Android的基本开发也有一段时间了,可是由于没有常常使用Android渐渐的也就忘记了. Android编程学的不深,不过为了对付逆向,可是有时还是会感到力不从心的.毕竟不是一个计算机专业毕业 ...

  7. java new map

    import com.google.common.collect.Maps; public static Map<String, Object> configMap2 = new Conc ...

  8. Tomcat日志、项目中的log4j日志、控制台——我的日志最后到底跑哪去了?

    1.Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志. 2.你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat ...

  9. (二)Luence——代码实现索引及搜索

    完成需求:使用Lucene完成对数据库中图书信息的索引和搜索功能. 1. 环境准备及工程搭建 1.1 环境准备 mysql5.5+java8+lucene4.10.3(目前最新7.0.1,这里够用就好 ...

  10. hibernate3和4中 HibernateSessionFactory中不同之处 The method applySettings(Map) from the type ServiceRegistryBuilder is deprecated - The type ServiceRegistryBuilder is deprecated

    hibernate3和4中 HibernateSessionFactory中不同之处 //serviceRegistry = new ServiceRegistryBuilder().applySet ...