Hike News
Hike News

Chart.js 圖表繪製

這是使用 <canvas> tag 繪製的圖表 JavaScript library

簡單又容易應用,也支援動畫的效果

載入 Chart.js

  • CDNJS

    1
    2
    <link rel="stylesheet" type="text/css" href="path/to/chartjs/dist/Chart.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.js"></script>
  • npm
1
npm install chart.js --save
  • Bower
1
bower install chart.js --save
  • 載入的模組有 2 種

    • Stand-Alone Build : 不包括 Moment.js,若是會使用到時間軸就必需額外再下載
    • Bundled Build : 包括 Chart.js 專用的 Moment.js
      • 若是先前已經載入過 Moment.js ,為了避免衝突出錯就不建議使用 Bundled Build
      • 會在圖表以外使用時間軸功能,建議是用 Stand-Alone Build 再另外載入 Moment.js

基本的 Chart 圖表

在 HTML 建立 <canvas>

1
<canvas id="myChart" width="400" height="300"></canvas>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {

// 各式圖表的屬性設定
type: 'bar',
data: {
labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
datasets: [{
label: '# of Votes',
data: [12, 19, 3, 5, 2, 3],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}

});
  • 參數設定

    • 可設定視覺樣式、觸發事件、互動效果,關於參數設定可參考 文件

    • Web Accessibility 無障礙輔助功能 :

相關連接