‧
阅读时长 6 分钟
对比最受欢迎的开源图表库
Metabase 团队
‧ 6 分钟阅读
分享本文
以下将介绍一些最受欢迎的图表库,帮助您确定哪种库最适合您的嵌入项目,并讨论何时应考虑更全面的解决方案。
Chart.js
Chart.js 是一个开源的 JavaScript 可视化库,始于 2013 年,并且根据 GitHub 星标和 npm 下载量,已成为最受欢迎的图表库。
如果您满足以下条件,Chart.js 可能适合您:
- 处理大型数据集。数据使用其内部格式进行摄取,因此您只需设置
parsing: true,它便会为您解析数据。 - 需要一个活跃的开发社区来支持。请查看 Chart.js 的 Discord 频道和 资源列表。
- 需要插件支持。有许多 Chart.js 相关的仓库可供测试和使用。例如,Chart.js 有一个维护良好且受欢迎的 React 组件库。
Visx
Visx 是 Airbnb 的工程和数据科学团队的产物,是一系列用于 React 的富有表现力、低级别的可视化基础组件。
虽然 visx 技术上不是一个可视化库,但它可以帮助您使用可视化基础组件构建自己的图表。visx 捆绑了 D3 和 React,为您提供了图表的核心功能,同时保留了您已为应用程序使用的动画、主题和样式。
如果您需要以下内容,visx 可能适合您:
- 保持包大小小。visx 提供多个包,但您可以选择所需的包。
- 使用自己的动画库。其他可视化库有时会强制使用会影响现有设计工作的动画和样式。
- 先随意尝试并获得灵感,然后再全力投入。它们的 画廊有许多很酷、轻量级的示例。
Nivo
Nivo 构建在 D3 之上,作为一组 React 组件,提供服务器端渲染和完全声明式的图表。 Nivo 的 Storybook 提供交互式示例,让您了解要构建的内容,而它们的 文档则允许您在实现之前测试单个组件。
如果您需要以下内容,Nivo 可能适合您:
- 高度可定制、完全声明式、响应式图表。
- 一个完全用 React 编写的库(Nivo 不是典型的包装库)。
- 拥有一个活跃的开发社区来合作。 Nivo 的 GitHub 仓库非常活跃,并且它们有一个可以加入的 Discourse 频道。
ECharts
ECharts 是由 Apache 软件基金会维护的开源 JavaScript 可视化库。Amazon、Gitlab 和 Intel 等公司使用 ECharts 将数据可视化包含在他们的产品、报告、研究论文等中。
我们正在努力将 ECharts 整合到 Metabase 的数据可视化中,所以您也可以说我们是这个库的粉丝。
如果您需要以下内容,您可能想使用 ECharts:
- “智能图表”。 ECharts 会自动使用合适的动画来表示数据变化。
- 具有跨平台支持的多渲染解决方案。您可以在 Canvas、SVG 和 VML 中渲染图表。ECharts 支持 PC 和移动浏览器,并在 Node.js 上提供了 node-canvas 用于服务器端渲染。
- 访问许多预构建系列,而不仅仅是基本的折线图、条形图和饼图。有 20 多个选项,如箱线图、热力图、漏斗图等。您还可以在图表上绘制多个系列。
- 渲染完全定制化的地图。ECharts 的地图系列类型支持 geoJSON。
- 可访问性功能。它是少数几个自动生成图表描述和图案以便残障人士使用的可视化库之一。
Plotly
正在寻找一套开源库?使用 Plotly,您可以为 Python、R、Julia 和多种其他语言创建交互式图表和地图。
如果您需要以下内容,您可能想使用 Plotly::
- 用于统计编程语言的库。Plotly 甚至有一个 MATLAB® 库。Plotly 的 基础文档提供了大量代码示例,如果您仍在学习入门知识,这是一个很好的起点。
- 集成到 Jupyter 笔记本或 IDE,如 PyCharm、QtConsole 或 Spyder。
- 为您的应用程序提供独立的 HTML 文件。您还可以使用 Dash 将图表添加到现有的 Python Web 应用程序中。
何时可能需要更多而不仅仅是简单的可视化库
如果您已经深入从事组件驱动的开发,或者拥有经验丰富的开发团队可以快速实现和迭代图表,那么可视化库是一个不错的选择。
但是,随着您扩展规模,维护可视化库可能意味着承担大量的开销。例如:
-
如果您的可视化库在任何方面都无法满足您的需求,您要么需要与维护者合作添加新功能或修复,要么需要切换到一个全新的可视化库。
-
您的开发团队需要处理嵌入和图表制作的临时请求,否则您需要找到一个折衷方案,例如添加新的接口和平台来支持那些不太熟悉可视化库的团队。
在这些情况下,使用具有支持技术和非技术团队功能的商业智能 (BI) 工具可以为您节省未来的成本。
开源商业智能工具
Metabase OSS 是一个免费选项,如果您需要一个快速的 嵌入式解决方案。您可以在几分钟内大规模创建、嵌入和迭代图表。其他 BI 工具,如 Apache Superset 或 Redash,也是开源的并提供类似的功能。
Metabase 提供了一些额外的免费、开箱即用的功能,可以满足大多数,甚至所有团队的需求:
- 为您的数据和开发团队提供 SQL 编辑器,以便他们能够轻松地快速查询您的数据库。
- 一个 数据浏览器,可以作为每个人探索表和字段的集中场所;了解更多关于您数据的信息。
- 一个 数据建模工具,以便您的数据团队可以查看模式、编辑定义和元数据等。
- 为那些不太熟悉开发或数据工具的团队提供 直观的查询构建器和 一键式可视化选项。每个人都可以构建和维护自己的图表和可视化,而无需 Eng 或 Data 团队的支持。
要进行测试,请查看 OSS 安装说明。