參加六角舉辦的「JS 學徒特訓班」記錄筆記
第三十關,第三十關 C3.js 圖表整合
內容:以 Axios 讀取 API、使用 D3js 顯示視覺畫圖表。
方式:
引進所需的函式庫
讀取 API 的 Axios
資料視覺畫的 D3js, C3js 以及 C3 所需的 CSS
1 | <!-- 載入 CSS --> |
接著是 html 的內容
1 | <section> |
定義所需變數
1 | let data = []; //存放回傳資料用 |
讀取 API 資料
使用 Axios 取出 API 的資料,並且以then()
和catch()
觀察取出資料狀態。
1 | // 取資料 |
資料處理
排序、將符合條件的資料取出並存入指定陣列中
1 | // 資料排序函式 |
資料圖形化並渲染畫面
使用 C3js 來渲染畫面,並細部設定資料呈現的方式。
1 | // 資料圖形化+渲染函式 |
C3js 的使用方式
進行前先說明一下使用 C3js 的方式:
除了先引進必須的樣式表和函式庫外,C3js 需要先透過 C3 的generate()
的函式來產生圖表,並透過此函式內的物件參數,來控制圖表。
C3.js | D3-based reusable chart library
1 | let chart = c3.generate({ |
在這份作業裡,我們可以把整份 C3js 的控制成一個函式,藉由帶參數的方式,將可重複使用。
1 | function renderLoad(columns, category) { |