# 第七週課程重點筆記 ###### tags: `JS 課程重點筆記` `2021` `JS直播班` `秋季班` `六角學院` ## :dart: C3.js 套件 ### [環境設定 codepen](https://codepen.io/hexschool/pen/poRzRXW?editors=1010) - 外部 CDN 共 3 支 (JS *2, CSS *1) - D3 要在 v5 版本 ```javascript= <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.7.18/c3.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.16.0/d3.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.7.18/c3.js"></script> ``` - 先載入套件,後面再用 all.js 或 all.css - all.js 放在 html body 的最後 (等畫面都畫出來再綁DOM) ## :dart: 觀察套件 ### :one: 套件內都有固定要求的格式,須依照格式輸入資料 ```javascript= let chart = c3.generate({ bindto: '.chart', // HTML 元素綁定 data: { columns: [ ['data1', 100, 200, 300, 400, 100, 200], ['data2', 400, 300, 200, 100, 200, 300] ], // 資料存放 } }); // 回推 c3 套件的格式 // function 內的參數為物件 let c3 = { generate: function(obj){ //generate 函式的內容 } } ``` ### :two: 折線圖增加時間軸 **(x軸)** ```javascript= let chart = c3.generate({ // 1 bindto: '#chart', // HTML 元素綁定 //2 data: { x: 'x', // x 軸綁到陣列第一個有 'x' 字串 columns: [ ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'], ['data1', 30, 200, 100, 400, 150, 250], ['data2', 50, 20, 10, 40, 15, 25] ] // 資料存放 }, // 3 axis: { // 座標軸,有 x 與 y 軸 x: { type: 'timeseries', tick: { format: '%Y-%m-%d' } } } }); ``` ### :three: 各種類型圖表及圖表設定 #### [C3.js CHART](https://c3js.org/examples.html#chart): 圖表類型 #### [C3.js DATA](https://c3js.org/examples.html#data): 各種跟資料相關的表格設定(包括顏色...) ## 以物件內的「屬性」重組新陣列:Object.keys(obj) ```javascript= let car = { brand: 'Mercedez-Benz', year: 2021, owner: 'Karen Huang', color: 'dark green', } console.log(Object.keys(car)) //['brand', 'year', 'owner', 'color'] ``` ## 以物件內「屬性的值」重組新陣列:[Object.values(obj)](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/values) ```javascript= let car = { brand: 'Mercedez-Benz', year: 2021, owner: 'Karen Huang', color: 'dark green', } console.log(Object.values(car)) //['Mercedez-Benz', 2021, 'Karen Huang', 'dark green'] ```