# Highcharts 時鐘
以下實例演示了時鐘。
我們在前面的章節已經了解了 Highcharts 基本配置語法。接下來讓我們來看下其他的配置。
## 配置
### chart.type 配置
配置 chart 的 type 為 'gauge' 。chart.type 描述了圖表類型。默認值為 "line"。
```
var chart = { type: 'gauge' };
```
### pane 配置
pane 只適用在極坐標圖和角度測量儀。此可配置對象持有組合x軸和y周的常規選項。每個x軸和y軸都可以通過索引關聯到窗格中。
```
var pane = { startAngle: -150, // x軸或測量軸的開始度數,以度數的方式給出。0是北 endAngle: 150 //x軸極坐標或角度軸的最終度數,以度數的方式給出。0是北 };
```
### 實例
文件名:highcharts_guage_clock.htm
```
<html> <head> <title>Highcharts 教程 | 菜鳥教程(runoob.com)</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script src="/try/demo_source/highcharts.js"></script> <script src="/try/demo_source/highcharts-more.js"></script> </head> <body> <div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div> <script language="JavaScript"> $(document).ready(function() { /**
* 獲取當前時間
*/ function getNow() { var now = new Date(); return { hours: now.getHours() + now.getMinutes() / 60, minutes: now.getMinutes() * 12 / 60 + now.getSeconds() * 12 / 3600, seconds: now.getSeconds() * 12 / 60 }; } /**
* Pad numbers
*/ function pad(number, length) { // Create an array of the remaining length + 1 and join it with 0's return new Array((length || 2) + 1 - String(number).length).join(0) + number; } var now = getNow(); var chart = { type: 'gauge', plotBackgroundColor: null, plotBackgroundImage: null, plotBorderWidth: 0, plotShadow: false, height: 200 }; var credits = { enabled: false }; var title = { text: 'Highcharts 時鐘' }; var pane = { background: [{ // default background }, { // reflex for supported browsers backgroundColor: Highcharts.svg ? { radialGradient: { cx: 0.5, cy: -0.4, r: 1.9 }, stops: [ [0.5, 'rgba(255, 255, 255, 0.2)'], [0.5, 'rgba(200, 200, 200, 0.2)'] ] } : null }] }; // the value axis var yAxis = { labels: { distance: -20 }, min: 0, max: 12, lineWidth: 0, showFirstLabel: false, minorTickInterval: 'auto', minorTickWidth: 1, minorTickLength: 5, minorTickPosition: 'inside', minorGridLineWidth: 0, minorTickColor: '#666', tickInterval: 1, tickWidth: 2, tickPosition: 'inside', tickLength: 10, tickColor: '#666', title: { text: 'Powered by<br/>Highcharts', style: { color: '#BBB', fontWeight: 'normal', fontSize: '8px', lineHeight: '10px' }, y: 10 } }; var tooltip = { formatter: function () { return this.series.chart.tooltipText; } }; var series= [{ data: [{ id: 'hour', y: now.hours, dial: { radius: '60%', baseWidth: 4, baseLength: '95%', rearLength: 0 } }, { id: 'minute', y: now.minutes, dial: { baseLength: '95%', rearLength: 0 } }, { id: 'second', y: now.seconds, dial: { radius: '100%', baseWidth: 1, rearLength: '20%' } }], animation: false, dataLabels: { enabled: false } }]; var json = {}; json.chart = chart; json.credits = credits; json.title = title; json.pane = pane; json.yAxis = yAxis; json.tooltip = tooltip; json.series = series; $('#container').highcharts(json, chartFunction); // Add some life var chartFunction = function (chart) { setInterval(function () { now = getNow(); var hour = chart.get('hour'), minute = chart.get('minute'), second = chart.get('second'), // run animation unless we're wrapping around from 59 to 0 animation = now.seconds === 0 ? false :{ easing: 'easeOutElastic'}; // Cache the tooltip text chart.tooltipText = pad(Math.floor(now.hours), 2) + ':' + pad(Math.floor(now.minutes * 5), 2) + ':' + pad(now.seconds * 5, 2); hour.update(now.hours, true, animation); minute.update(now.minutes, true, animation); second.update(now.seconds, true, animation); }, 1000); }; }); // Extend jQuery with some easing (copied from jQuery UI) $.extend($.easing, { easeOutElastic: function (x, t, b, c, d) { var s=1.70158;var p=0;var a=c; if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; if (a < Math.abs(c)) { a=c; var s=p/4; } else var s = p/(2*Math.PI) * Math.asin (c/a); return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; } }); </script> </body> </html>
```
以上實例輸出結果為:

- Highcharts 簡介
- Highcharts 環境配置
- Highcharts 配置語法
- Highcharts 配置選項詳細說明
- Highcharts 曲線圖
- Highcharts 基本曲線圖
- Highcharts 帶有數據標簽曲線圖表
- Highcharts 異步加載數據曲線圖表
- Highcharts 時間序列,可縮放的圖表
- Highcharts X 軸翻轉曲線圖
- Highcharts 帶標記曲線圖
- Highcharts 標示區曲線圖
- Highcharts 時間間隔圖表
- Highcharts 對數圖表
- Highcharts 區域圖
- Highcharts 基本區域圖
- Highcharts 使用負數區域圖
- Highcharts 堆疊區域圖
- Highcharts 百分比堆疊區域圖
- Highcharts 丟失值區域圖
- Highcharts 反轉x軸與y軸
- Highcharts 曲線區域圖
- Highcharts 區間區域圖
- Highcharts 使用區間和線的區域圖
- Highcharts 條形圖
- Highcharts 基本條形圖
- Highcharts 堆疊條形圖
- Highcharts 反向條形圖
- Highcharts 柱形圖
- Highcharts 基本柱形圖
- Highcharts 使用負值的反向柱形圖
- Highcharts 堆疊柱形圖
- Highcharts 堆疊組柱形圖
- Highcharts 使用百分比的堆疊柱形圖
- Highcharts 標簽旋轉柱形圖
- Highcharts 堆疊組柱形圖
- Highcharts 固定布局柱形圖
- Highcharts 使用 HTML 表格數據的柱形圖
- Highcharts 區間柱形圖
- Highcharts 餅圖
- Highcharts 基本餅圖
- Highcharts 顯示圖例餅圖
- Highcharts 圓環圖
- Highcharts 半圈圓環圖
- Highcharts 向下鉆取餅圖
- Highcharts 漸變餅圖
- Highcharts 單色餅圖
- Highcharts 散點圖
- Highcharts 氣泡圖
- Highcharts 動態圖
- Highcharts 組合圖
- Highcharts 柱形圖,線條圖,餅圖組合
- Highcharts 雙Y軸, 柱形圖,線條圖組合
- Highcharts 多Y軸組合
- Highcharts 散點圖上添加回歸線
- Highcharts 3D圖
- Highcharts 3D柱形圖
- Highcharts 帶空值(null)和0的3D柱形圖
- Highcharts 堆疊3D柱形圖
- Highcharts 3D餅圖
- Highcharts 3D圓環圖
- Highcharts 測量圖
- Highcharts 測量圖
- Highcharts 圓形進度條式測量圖
- Highcharts 時鐘
- Highcharts 雙軸車速表
- Highcharts 音量表(VU Meter)
- Highcharts 樹狀圖(Treemap)