# Chart.js
歡迎使用 Chart.js!
- 開始使用 Chart.js — 如果您是 Chart.js 新手,建議從這裡開始
- 從 Chart.js v3 或 Chart.js v2 遷移
- 在 Discord (在新視窗開啟) 和 Twitter (在新視窗開啟) 上加入社群
- 在 Stack Overflow (在新視窗開啟) 上發布標記為
chart.js
的問題 - 為 Chart.js 貢獻
# 為什麼選擇 Chart.js
在眾多 JavaScript 應用程式開發者的圖表函式庫中 (在新視窗開啟),根據 GitHub 星星數 (在新視窗開啟)(約 60,000)和 npm 下載量 (在新視窗開啟)(每週約 2,400,000 次)來看,Chart.js 是目前最受歡迎的。
Chart.js 在 2013 年被創建並發布 (在新視窗開啟),但從那時起已經發展了很多。它是開源的,並根據非常寬鬆的 MIT 許可證 (在新視窗開啟) 授權,並由活躍的社群維護。
# 功能特色
Chart.js 提供一組常用的圖表類型、外掛程式和自訂選項。除了合理的 內建圖表類型 外,您還可以利用社群維護的額外 圖表類型 (在新視窗開啟)。最重要的是,可以將多種圖表類型組合到 混合圖表 中(本質上是將多種圖表類型混合到同一個畫布上)。
Chart.js 具有高度可自訂性,透過 自訂外掛程式 (在新視窗開啟) 來建立註解、縮放或拖放功能等等。
# 預設值
Chart.js 具有健全的預設設定,讓您可以非常輕鬆地開始使用,並取得一個可以投入生產的應用程式。即使您完全不指定任何選項,您也很有可能會得到一個非常吸引人的圖表。例如,Chart.js 預設啟用了動畫效果,因此您可以立即吸引人們注意您用數據講述的故事。
# 整合
Chart.js 具有內建的 TypeScript 類型,並且與所有流行的 JavaScript 框架 (在新視窗開啟) 相容,包括 React (在新視窗開啟)、Vue (在新視窗開啟)、Svelte (在新視窗開啟) 和 Angular (在新視窗開啟)。您可以直接使用 Chart.js,或利用維護良好的封裝套件,以便與您選擇的框架進行更原生的整合。
# 開發者體驗
Chart.js 擁有非常詳盡的API 參考文件 (沒錯,您正在閱讀的就是),以及範例。維護者和社群成員熱切地在 Discord (在新視窗中開啟)、GitHub Discussions (在新視窗中開啟) 以及 Stack Overflow (在新視窗中開啟) 上參與討論,其中有超過 11,000 個問題標記了 chart.js
。
# Canvas 渲染
與其他多數基於 D3.js 的圖表函式庫 (它們以 SVG 渲染不同),Chart.js 是在 HTML5 canvas 上渲染圖表元素。Canvas 渲染讓 Chart.js 的效能非常高,尤其是在處理大型資料集和複雜視覺化時,否則將需要在 DOM 樹中產生數千個 SVG 節點。同時,canvas 渲染不允許 CSS 樣式設定,因此您必須使用內建選項,或建立自訂外掛或圖表類型以依照您的喜好渲染所有內容。
# 效能
Chart.js 非常適合處理大型資料集。可以使用內部格式有效地擷取這類資料集,因此您可以跳過資料剖析和正規化。或者,可以設定資料抽樣,以便在渲染之前對資料集進行取樣並縮減其大小。
最後,與 SVG 渲染相比,Chart.js 使用的 canvas 渲染減少了 DOM 樹的負擔。此外,Tree-shaking 支援可讓您在套件中包含最少的 Chart.js 程式碼,進而減少套件大小和頁面載入時間。
# 社群
Chart.js 由社群積極開發 (在新視窗中開啟)和維護。Chart.js 大約每兩個月進行一次小的版本發佈 (在新視窗中開啟),每隔幾年進行一次包含重大變更的主要版本發佈,Chart.js 在新增功能與避免造成跟上新功能的麻煩之間保持平衡。
開始使用 →