# Chart.js

欢迎使用 Chart.js!

# 为什么选择 Chart.js

众多 JavaScript 应用程序开发者的图表库 (在新窗口中打开) 中,Chart.js 是目前根据 GitHub 星数 (在新窗口中打开)(约 60,000)和 npm 下载量 (在新窗口中打开)(每周约 2,400,000 次)最受欢迎的图表库。

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

Chart.js 在 HTML5 画布上渲染图表元素,与其他许多基于 D3.js 的图表库(以 SVG 渲染)不同。画布渲染使 Chart.js 性能非常出色,尤其是在大型数据集和复杂可视化方面,否则将需要在 DOM 树中创建数千个 SVG 节点。同时,画布渲染不允许 CSS 样式,因此您必须使用内置选项来实现这一点,或者创建自定义插件或图表类型以按您的喜好渲染一切。

# 性能

Chart.js 非常适合大型数据集。可以使用内部格式有效地导入此类数据集,因此您可以跳过数据 解析规范化。或者,可以配置 数据抽取 来对数据集进行采样,并在渲染之前减小其大小。

最终,Chart.js 使用的画布渲染与 SVG 渲染相比,减少了对 DOM 树的负担。此外,Tree-shaking 支持允许您在捆绑包中包含 Chart.js 代码的最小部分,从而减小捆绑包大小和页面加载时间。

# 社区

Chart.js 由社区 积极开发 (opens new window) 和维护。Chart.js 约每两个月发布一次小版本,每几年发布一次带有重大更改的大版本,在添加新功能和保持跟进的难度之间取得平衡。

最后更新: 2024年5月17日 下午12:33:38