Chart.js 簡介
Chart.js 是一款彈性很高的圖表 JavaScript library,支援八種常見的統計圖表類型,夠將圖表混合在一起使用,也支援動畫的效果,讓我們製作出來的圖表更加精美!Chart.js 可以與 ES6 模塊,純 JavaScript 和模塊加載器一起使用。
載入 chart.js
您可以從 GitHub 版本下載最新版本的 Chart.js 或使用 Chart.js CDN。
1 | <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script> |
要把這一段加在 <head>
標籤中,不然會讀取不到資料,記得也要加入 js 的 <script>
標籤。
因會不定期更新,最新版本請見官網。
用法
把圖表放在 html 中的位置中,並且要用 <canvas>
標籤包住。如下方程式碼。
1 | <canvas id="chart-area"></canvas> |
可用 CSS 或是直接在 <canvas>
中加入寬度與高度的設定,但我個人習慣用 CSS 獨立管理,這裡便不贅述。
綁定 id
提供四種綁定方式,任擇一即可。
1 | var ctx = document.getElementById('myChart'); |
1 | var ctx = document.getElementById('myChart').getContext('2d'); |
1 | var ctx = $('#myChart'); |
1 | var ctx = 'myChart'; |
設定自己的圖表
放入了位置與綁定了元素,就可以開始定義或創建自己的圖表類型了!以下為官網範例的條形圖,該條形圖顯示了不同顏色的數值表,y 軸從 0 開始。
1 | var ctx = document.getElementById('myChart'); |
codepen https://codepen.io/hnzxewqw/pen/LYVMNPX
結合兩個圖表使用
Chart.js 也支援混合類型的圖表,能夠將多個 bar chart 跟多個 line chart 放在一起比較;最外層的圖表類型必須設定為 bar,接著在 dataset 的第一個物件後,加上第二個物件,即可插入第二個圖表,例如以下程式碼:
1 | datasets: [{ |
codepen https://codepen.io/hnzxewqw/pen/PoqXNYw
相關選項註記
這些部分描述了可在文檔中其他位置應用的常規配置選項。
- 響應式定義適用於所有圖表的響應式圖表選項。
- 設備像素比率定義顯示像素與渲染像素之間的比率。
- 交互定義了反映懸停圖表元素如何工作的選項。
- 選項可腳本化和可索引的選項語法。
- 顏色定義可接受的顏色值。
- 字體定義各種字體選項。
- 性能為需要效能的應用程式給予提示。
若有翻譯不好的地方還請指教。
心得
datasets
呈現的是 JSON 格式資料,所以對於陣列與物件的用法也要熟悉,在插入資料時比較不會搞混。
參考資料