JS highcharts實(shí)現(xiàn)動(dòng)態(tài)曲線代碼示例
Highcharts是一個(gè)制作圖表的純Javascript類庫,
主要特性如下:
兼容性:兼容當(dāng)今所有的瀏覽器,包括iPhone、IE和火狐等等;
對個(gè)人用戶完全免費(fèi);
純JS,無BS;
支持大部分的圖表類型:直線圖,曲線圖、區(qū)域圖、區(qū)域曲線圖、柱狀圖、餅裝圖、散布圖;
跨語言:不管是PHP、.net還是Java都可以使用,它只需要三個(gè)文件:一個(gè)是
Highcharts的核心文件highcharts.js,還有a canvas emulator for IE和Jquery類庫或者M(jìn)ooTools類庫;
提示功能:鼠標(biāo)移動(dòng)到圖表的某一點(diǎn)上有提示信息;
放大功能:選中圖表部分放大,近距離觀察圖表;
易用性:無需要特殊的開發(fā)技能,只需要設(shè)置一下選項(xiàng)就可以制作適合自己的圖表;
時(shí)間軸:可以精確到毫秒;
其官網(wǎng)網(wǎng)站為:http://www.highcharts.com/ !
里面有他們的例子和參考代碼,可以參考著實(shí)現(xiàn)自己的應(yīng)用,如果你做的是靜態(tài)的圖形展示,那么使用是非常簡單的!
參照官網(wǎng)的一個(gè)例子,我來實(shí)現(xiàn)一個(gè)動(dòng)態(tài)曲線的應(yīng)用:
效果如下:
這個(gè)曲線是動(dòng)態(tài)的,他的官網(wǎng)效果地址:http://www.highcharts.com/demo/dynamic-update !
我把他應(yīng)用到JSP中,代碼如下:
<%@ page language='java' import='java.util.*' pageEncoding='UTF-8'%><html><head><title>Highcharts Example</title><script language='javascript' type='text/javascript' src='http://www.gepszalag.com/bcjs/jquery.min.js'></script><script language='javascript' type='text/javascript' src='http://www.gepszalag.com/bcjs/highcharts.js'></script><script language='javascript' type='text/javascript' src='http://www.gepszalag.com/bcjs/exporting.js'></script><script type='text/javascript'>$(document).ready(function() {Highcharts.setOptions({global: {useUTC: false}});var chart;chart = new Highcharts.Chart({chart: {renderTo: ’container’,type: ’spline’,marginRight: 10,events: {load: function() {// set up the updating of the chart each secondvar series = this.series[0];setInterval(function() {var x = (new Date()).getTime(), // current timey = Math.random();series.addPoint([x, y], true, true);}, 1000);}}},title: {text: ’<b>Java小強(qiáng)制作</b>’},xAxis: {type: ’datetime’,tickPixelInterval: 150},yAxis: {title: {text: ’單位:M’},plotLines: [{value: 0,width: 1,color: ’#808080’}]},tooltip: {formatter: function() {return ’<b>’+ this.series.name +’</b><br/>’+Highcharts.dateFormat(’%Y-%m-%d %H:%M:%S’, this.x) +’<br/>’+Highcharts.numberFormat(this.y, 2);}},legend: {enabled: false},exporting: {enabled: false},series: [{name: ’Random data’,data: (function() {// generate an array of random datavar data = [],time = (new Date()).getTime(),i;for (i = -19; i <= 0; i++) {data.push({x: time + i * 1000,y: Math.random()});}return data;})()}]});});</script></head><body><div style='width: 800px;height: 400px'></div></body></html>
DIV的樣式可以自己調(diào)節(jié),需要關(guān)注的是兩個(gè)點(diǎn):
他需要的數(shù)據(jù)格式是雙維數(shù)組
數(shù)據(jù)的更新是因?yàn)?chart 對象里面有一個(gè) events 屬性,里面定義方法使用 addPoint 實(shí)現(xiàn)數(shù)據(jù)點(diǎn)的增加和刷新!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明3. CSS hack用法案例詳解4. PHP設(shè)計(jì)模式中工廠模式深入詳解5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP+ajax實(shí)現(xiàn)頂一下、踩一下同支持與反對的實(shí)現(xiàn)代碼7. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法8. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過程(親測可用)9. asp中response.write("中文")或者js中文亂碼問題10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析
