OHLC圖 (Open-High-Low-Close Chart) 又稱為股票圖、技術分析圖或美國線,是以豎立的線條表現股票價格的變化,並呈現開盤價、最高價、最低價與收盤價,豎線呈現最高價和最低價間的價差間距,左側橫線代表開盤價,右側橫線代表收盤價,繪製上較K線圖簡單。 另外還有最高價-最低價-收盤價、成交量-最高價-最低價-收盤價、成交量-開盤價-最高價-最低價-收盤價等三種呈現方式。
為能執行OHLC圖,除了原有jQuery Mobile的css與js檔案之外,另需在<head></head>網頁標籤部份匯入以下檔案,與折線圖不同的是,需額外匯入jqplot.ohlcRenderer.min.js以繪製OHLC圖:
其程式部份如下,其中設定頁面ID為ohlcchart、圖表ID為chart (可自行命名),以做為繪製圖表的依據:
為設定圖表內容,在ohlcchart.js檔案中分別定義以下內容:
var ohlcdata = [[
['08/30/2014 13:00:00', 114.94, 120, 113.28, 119.57],
['08/29/2014 13:00:00', 104.51, 116.13, 102.61, 115.99],
['08/28/2014 13:00:00', 102.71, 109.98, 101.75, 106.85],
...
]];
// Enable Plugins
$.jqplot.config.enablePlugins = true;
var options = {
title: "2014年8月份股市趨勢圖",
series: [{
renderer:$.jqplot.OHLCRenderer,
rendererOptions:{
candleStick:false
}
}],
axes: {
xaxis: {
label:'Date',
renderer:$.jqplot.DateAxisRenderer,
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions:{formatString:'%m/%d',angle:-90},
tickInterval: "1 days",
min: "8-01-2014",
max: "8-31-2014",
},
yaxis: {
label:'$',
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions:{formatString:'%d',angle:0}
}
},
highlighter: {
show: true,
showMarker:false,
tooltipAxes: 'xy',
yvalues: 4,
formatString:'| 日期: | %s |
| 開盤: | %s |
| 最高: | %s |
| 最低: | %s |
| 收盤: | %s |
title: "2014年8月份股市趨勢圖",設定座標軸 (Axis) 的標籤 (label)、刻度區間 (tickInterval)、刻度的最小值 (min)、刻度的最大值 (max):
axes: {
xaxis: {
label:'Date',
renderer:$.jqplot.DateAxisRenderer,
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions:{formatString:'%m/%d',angle:-90},
tickInterval: "1 days",
min: "8-01-2014",
max: "8-31-2014",
},
yaxis: {
label:'$',
tickRenderer: $.jqplot.CanvasAxisTickRenderer,
tickOptions:{formatString:'%d',angle:0}
}
},
此外,為處理當以手指或滑鼠移至數據標記上方時顯示日期、開盤、最高、最低與收盤價等資訊,範例加入highlighter屬性:highlighter: {
show: true,
showMarker:false,
tooltipAxes: 'xy',
yvalues: 4,
formatString:'| 日期: | %s |
| 開盤: | %s |
| 最高: | %s |
| 最低: | %s |
| 收盤: | %s |
以下為以電腦瀏覽器執行的OHLC圖,當以滑鼠移至數據標記上方時,則以表格顯示日期、開盤、最高、最低與收盤價等資訊:
以下為以Android智慧型手機瀏覽器執行的OHLC圖:
燭台圖 (Candlestick Chart)
燭台圖 (Candlestick Chart) 是OHLC圖的另一種呈現方式,同樣需在<head></head>網頁標籤部份匯入jqplot.ohlcRenderer.min.js:
燭台圖的幾乎與OHLC圖一樣,差別僅在於需加入candleStick選項以設定燭台圖:
series: [{
renderer:$.jqplot.OHLCRenderer,
rendererOptions:{
candleStick:true
}
}],
【執行結果】以下為以電腦瀏覽器執行的燭台圖,當以滑鼠移至數據標記上方時,則以表格顯示日期、開盤、最高、最低與收盤價等資訊:
以下為以Android智慧型手機瀏覽器執行的燭台圖:
【參考資料】
[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




沒有留言:
張貼留言