泡泡圖 (Bubble Chart) 為散佈圖的變化,泡泡圖常用以顯示財務資料,座標點以泡泡呈現,並以泡泡大小強調數值的大小。
為能執行泡泡圖,除了原有jQuery Mobile的css與js檔案之外,另需在<head></head>網頁標籤部份匯入以下檔案,與折線圖不同的是,需額外匯入jqplot.bubbleRenderer.min.js以繪製泡泡圖:
其程式部份如下,其中設定頁面ID為bubblechart、圖表ID為chart (可自行命名),以做為繪製圖表的依據:
為設定圖表內容,在bubblechart.js檔案中分別定義以下內容:
var bubbledata = [ [11, 123, 1236, "iPhone"], [45, 92, 1067, "iPod Touch"], [24, 104, 1176, "MacBook Air"], [50, 23, 610, "iPad"], [18, 17, 539, "iMac"], [ 7, 89, 864, "New iPad"], [ 2, 13, 1026, "iPad Air"] ]; // Enable Plugins $.jqplot.config.enablePlugins = true; var options = { title: '2014 Sales by Product', seriesDefaults:{ renderer: $.jqplot.BubbleRenderer, rendererOptions: { bubbleGradients: true, bubbleAlpha: 0.6, highlightAlpha: 0.8 }, shadow: true, shadowAlpha: 0.05 }, axes: { xaxis: { label:'Sales', labelRenderer:$.jqplot.CanvasAxisLabelRenderer, tickRenderer: $.jqplot.CanvasAxisTickRenderer, tickOptions:{angle:-45} }, yaxis: { label:'US$', labelRenderer:$.jqplot.CanvasAxisLabelRenderer, tickRenderer: $.jqplot.CanvasAxisTickRenderer, } }, cursor:{zoom:true} }; $(document).on("pageshow","#bubblechart",function(e){ bubbleplot = $.jqplot("chart", bubbledata, options); }); $(window).on("orientationchange",function(ui,e){ bubbleplot.replot(); }); $(document).on("pagehide","#bubblechart",function(e){ bubbleplot.destroy(); });圖表的選項與格式,分別設定如下,例如圖表標題 (Title):
title: '2014 Sales by Product',設定泡泡圖的預設值:
seriesDefaults:{ renderer: $.jqplot.BubbleRenderer, rendererOptions: { bubbleGradients: true, bubbleAlpha: 0.6, highlightAlpha: 0.8 }, shadow: true, shadowAlpha: 0.05 },設定座標軸 (Axis) 的標籤 (label)、刻度標籤的旋轉角度 (angle):
axes: { xaxis: { label:'Sales', labelRenderer:$.jqplot.CanvasAxisLabelRenderer, tickRenderer: $.jqplot.CanvasAxisTickRenderer, tickOptions:{angle:-45} }, yaxis: { label:'US$', labelRenderer:$.jqplot.CanvasAxisLabelRenderer, tickRenderer: $.jqplot.CanvasAxisTickRenderer, } },【執行結果】
以下為以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
沒有留言:
張貼留言