JS highcharts實現動態曲線代碼示例
Highcharts是一個制作圖表的純Javascript類庫,
主要特性如下:
兼容性:兼容當今所有的瀏覽器,包括iPhone、IE和火狐等等;
對個人用戶完全免費;
純JS,無BS;
支持大部分的圖表類型:直線圖,曲線圖、區域圖、區域曲線圖、柱狀圖、餅裝圖、散布圖;
跨語言:不管是PHP、.net還是Java都可以使用,它只需要三個文件:一個是
Highcharts的核心文件highcharts.js,還有a canvas emulator for IE和Jquery類庫或者MooTools類庫;
提示功能:鼠標移動到圖表的某一點上有提示信息;
放大功能:選中圖表部分放大,近距離觀察圖表;
易用性:無需要特殊的開發技能,只需要設置一下選項就可以制作適合自己的圖表;
時間軸:可以精確到毫秒;
其官網網站為:http://www.highcharts.com/ !
里面有他們的例子和參考代碼,可以參考著實現自己的應用,如果你做的是靜態的圖形展示,那么使用是非常簡單的!
參照官網的一個例子,我來實現一個動態曲線的應用:
效果如下:
這個曲線是動態的,他的官網效果地址:http://www.highcharts.com/demo/dynamic-update !
我把他應用到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.aoyou183.cn/bcjs/jquery.min.js'></script><script language='javascript' type='text/javascript' src='http://www.aoyou183.cn/bcjs/highcharts.js'></script><script language='javascript' type='text/javascript' src='http://www.aoyou183.cn/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小強制作</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的樣式可以自己調節,需要關注的是兩個點:
他需要的數據格式是雙維數組
數據的更新是因為 chart 對象里面有一個 events 屬性,里面定義方法使用 addPoint 實現數據點的增加和刷新!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: