通过前两章的学习,相信大家对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. Android 如何添加一个新的时区

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  2. vue - webpack.base.conf.js

    描述:webapck基本配置文件. 为了给开发文件和打包文件(webpack.dev.conf.js|| webpack.prod.conf.js) 提供方便. 'use strict' // 路径 ...

  3. Getting started with Chrome Dev Editor

    转自:https://github.com/GoogleChrome/chromedeveditor/blob/master/doc/GettingStarted.md Installation In ...

  4. MFC中获取各个窗口之间的句柄或者指针对象的方法

    MFC在非常多的对话框操作中,我们常常要用到在一个对话框中调用还有一个对话框的函数或变量.能够用例如以下方法来解决.    HWND hWnd=::FindWindow(NULL,_T("S ...

  5. Python-正确使用Unicode

    正确处理文本,特别是正确处理Unicode.是个老生常谈的问题,有时甚至会难倒经验丰富的开发者.并不是因为这个问题很难,而是因为对软件中的文本,开发者没有正确理解一些关键概念及其表示方法.在Stack ...

  6. Arm Cache学习总结

    cache,高速缓存,其原始意义是指访问速度比一般随机存取内存(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术. 1.cache映射方式 cache中 ...

  7. 转 OAuth 2.0授权协议详解

    http://www.jb51.net/article/54948.htm 作者:阮一峰 字体:[增加 减小] 类型:转载 时间:2014-09-10我要评论 这篇文章主要介绍了OAuth 2.0授权 ...

  8. Springboot接收参数

    接收参数有三个方法. 1.接收id的方法: @RestController public class ControllerTest { //在这里读取配置文件 @Autowired private T ...

  9. centos7 安装php 多线程pthreads

    第一步:yum源更新 yum update 第二步:下载php7源码 wget http://124.202.164.8/files/312100000A0BB72D/cn.php.net/distr ...

  10. vb.net winform exe 接参数

    找到如下文件 -\WindowsApplication1\My Project\Application.Designer.vb <Global.System.Diagnostics.Debugg ...