Highstock是一款優(yōu)秀的股票價(jià)格圖表庫(kù),使用JavaScript編寫(xiě),可輕松實(shí)現(xiàn)互動(dòng)的股票圖表顯示。通過(guò)Highstock,我們可以輕松地在網(wǎng)頁(yè)中插入股票價(jià)格的實(shí)時(shí)信息并進(jìn)行展示。在這篇文章中,我們將介紹Highstock如何使用JSON格式返回?cái)?shù)據(jù),并且展示在圖表中。
Highstock可以接受不同的數(shù)據(jù)格式,我們這里主要介紹JSON格式數(shù)據(jù)。JSON格式是一種輕量級(jí)的數(shù)據(jù)交換格式,它易于使用、提供跨平臺(tái)的數(shù)據(jù)交換,適合在Web服務(wù)中使用。Highstock可以通過(guò)AJAX技術(shù)從服務(wù)器端獲取JSON格式的數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)化為股票圖表展示。
Highstock的JSON數(shù)據(jù)格式非常簡(jiǎn)單,在其中,每個(gè)點(diǎn)對(duì)應(yīng)一個(gè)數(shù)組,數(shù)組中包含兩個(gè)元素,一個(gè)是時(shí)間點(diǎn),另一個(gè)是對(duì)應(yīng)時(shí)間點(diǎn)的股票價(jià)格。下面是一個(gè)示例JSON格式數(shù)據(jù):
[ [1357027200000,100.2], [1357113600000,100.1], [1357200000000,101.5], [1357286400000,102.4], [1357372800000,101.2] ]
在上面的JSON格式中,第一個(gè)元素代表時(shí)間點(diǎn),它使用標(biāo)準(zhǔn)的UNIX時(shí)間戳表示,代表自1970年1月1日起的毫秒數(shù)。第二個(gè)元素是對(duì)應(yīng)的股票價(jià)格,可以是整數(shù)或者小數(shù)。
如何將JSON格式數(shù)據(jù)展示在Highstock的圖表中呢?它非常簡(jiǎn)單,我們只需要在JavaScript代碼中通過(guò)AJAX技術(shù)獲取JSON格式數(shù)據(jù),并使用以下代碼將它應(yīng)用到Highstock的圖表中:
$.getJSON('data.json', function(data){ Highcharts.stockChart('container', { series: [{ data: data, pointStart: data[0][0], pointInterval: 24 * 3600 * 1000 // 時(shí)間間隔為一天 }] }); });
在上面的代碼中,$.getJSON()函數(shù)獲取data.json文件中的數(shù)據(jù),獲取成功后,我們通過(guò)Highcharts.stockChart()函數(shù)初始化Highstock圖表,并將JSON格式數(shù)據(jù)應(yīng)用到series中。我們使用data屬性將JSON格式數(shù)據(jù)傳遞給series,pointStart屬性指定第一個(gè)數(shù)據(jù)點(diǎn)對(duì)應(yīng)的時(shí)間點(diǎn),pointInterval指定數(shù)據(jù)點(diǎn)的時(shí)間間隔。
總結(jié):使用Highstock展示JSON格式數(shù)據(jù)非常簡(jiǎn)單,通過(guò)簡(jiǎn)單的AJAX技術(shù)獲取數(shù)據(jù),然后通過(guò)Highcharts.stockChart()初始化圖表并將JSON格式數(shù)據(jù)傳遞給series即可。