Chart.js是一款樣式簡介大氣的Visualization數(shù)據(jù)的API棚蓄。它使用起來非常方便痢甘,只需要提供一組dataset參數(shù),圖表就會自動產(chǎn)生信夫。并且可以改變圖表的顏色,字體大小卡啰,標(biāo)題静稻,并且加上onclick函數(shù)等對圖表進行交互性操作。
我將他分為兩類匈辱,靜態(tài)圖表和動態(tài)圖表振湾。靜態(tài)圖表指圖表創(chuàng)立的時候數(shù)據(jù)為常數(shù)。動態(tài)圖表指數(shù)據(jù)為變量亡脸。運用chart.js時押搪,首先要它需要你在網(wǎng)頁中創(chuàng)建一個canvas標(biāo)簽來承載生成的圖表(條形圖,線形圖浅碾,扇形圖等等)大州。
靜態(tài)圖表比較簡單,只需要將datasets中間的data填滿想要顯示的數(shù)據(jù)即可垂谢。如果想要顯示不止一條線厦画,可以加入多組dataset。
動態(tài)圖表則不能直接羅列數(shù)據(jù)埂陆,因為數(shù)據(jù)的個數(shù)和值不再是常量苛白。這時候可以選擇用AJAX將數(shù)據(jù)從controller傳到view。下圖的callback function 指的是當(dāng)你從對應(yīng)的url收到數(shù)據(jù)時會調(diào)用的函數(shù)焚虱。例子如下:架設(shè)我現(xiàn)在想要顯示一個橫軸為自己定義的時間,縱軸為值的折線圖懂版,通過ajax收到的數(shù)據(jù)data是一個數(shù)組鹃栽。
用數(shù)組DatasetsArray來存儲數(shù)據(jù)的值,顏色,label等各種性質(zhì)民鼓。在循環(huán)中遍歷數(shù)組number薇芝,講值賦予DatasetsArray的data項,并同時可以定義當(dāng)前dataset的其他性質(zhì)丰嘉,包括label夯到,bordercolor,是否填充顏色等等饮亏。
給dataset賦值結(jié)束后耍贾,便可以開始畫圖了,如下圖直接將DatasetsArray賦值給datasets量即可路幸。
在dataset后還可以加上許多其他的參數(shù)荐开,定義圖表的各個屬性,如x坐標(biāo)軸的字體大小简肴,legend的名字等晃听。
加上onclick function也是一種很實際的做法,可以讓你的圖表包含更多信息量且高端砰识。比如說能扒,你想點中圖表的某個數(shù)據(jù)點然后跳轉(zhuǎn)到某個頁面,相當(dāng)于這個點被active辫狼,則可以使用以上方法初斑。
總之,chart.js是一個很實用易上手看起來高端的數(shù)據(jù)visulization方法予借。