儀錶圖 (Meter Gauge) 如同汽車儀錶板,以半圓形的刻度顯示範圍值,儀錶圖常用以顯示值。此外,儀錶圖常搭配區間顏色,以顏色區分不同的範圍值。
為能執行儀錶圖,除了原有jQuery Mobile的css與js檔案之外,另需在<head></head>網頁標籤部份匯入以下檔案,與折線圖不同的是,需額外匯入jqplot.meterGaugeRenderer.min.js以繪製儀錶圖:
其程式部份如下,其中設定頁面ID為metergauge、圖表ID為chart (可自行命名),以做為繪製圖表的依據:
為設定圖表內容,在metergauge.js檔案中分別定義以下內容:
// Enable Plugins $.jqplot.config.enablePlugins = true; var options = { title: 'Sales', legend: { show: true, location: 'ne', rendererOptions: { numberRows: 1 } }, axes: { xaxis: { autoscale:true, tickRenderer: $.jqplot.CanvasAxisTickRenderer, tickInterval: 1, }, yaxis: { tickRenderer: $.jqplot.CanvasAxisTickRenderer, tickOptions:{prefix: '$'} } }, cursor:{zoom:true} }; $(document).on("pageshow","#metergauge",function(e){ options['seriesDefaults']={fill:true}; meterplot = $.jqplot('chart',[[375]],{ title: 'Sales', seriesDefaults: { renderer: $.jqplot.MeterGaugeRenderer, rendererOptions: { label: 'US$', min: 0, max: 500, intervals:[50, 150, 300, 500], intervalColors:['#FF0000', '#FF6600', '#FFFF66', '#00FF00'] } }, cursor:{zoom:true} }); }); $(window).on("orientationchange",function(ui,e){ meterplot.replot(); }); $(document).on("pagehide","#metergauge",function(e){ meterplot.destroy(); });分別設定儀錶圖的標籤 (label)、最小值 (min)、最大值 (max)、區間 (intervals)、區間顏色 (intervalColors):
seriesDefaults: { renderer: $.jqplot.MeterGaugeRenderer, rendererOptions: { label: 'US$', min: 0, max: 500, intervals:[50, 150, 300, 500], intervalColors:['#FF0000', '#FF6600', '#FFFF66', '#00FF00'] } },【執行結果】
以下為以Android智慧型手機瀏覽器執行的儀錶圖:
以下為以Apple iPad平版電腦瀏覽器執行的儀錶圖:
【參考資料】
[1] XAMPP:https://www.apachefriends.org
[2] jQuery Mobile:http://jquerymobile.com
[3] jQuery:http://jquery.com
[4] jqPlot:http://www.jqplot.com
© Chia-Hui Huang
沒有留言:
張貼留言