‧
阅读时长 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 可视化库。亚马逊、Gitlab 和英特尔等公司使用 ECharts 在其产品、报告、研究论文等中包含数据可视化。
我们正在努力将 ECharts 用于 Metabase 数据可视化,所以您也可以说我们是这个库的粉丝。
如果需要,您可能希望使用 ECharts:
- “智能图表”。ECharts 自动使用适当的动画来表示数据变化。
- 具有跨平台支持的多渲染解决方案。您可以在 Canvas、SVG 和 VML 中渲染图表。ECharts 支持 PC 和移动浏览器,并在 Node 上支持 node-canvas 用于服务器端渲染。
- 除了基本的折线图、柱状图和饼图之外,还可以访问许多预构建的系列。有 20 多个选项,如箱线图、热力图、漏斗图等。您还可以在一个图表上绘制多个系列。
- 渲染完全自定义的地图。ECharts 地图系列类型支持 geoJSON。
- 辅助功能。它是少数几个为残障用户自动生成图表描述和贴花图案的可视化库之一。
Plotly
正在寻找一堆开源库?使用 Plotly,您可以为 Python、R、Julia 和其他多种语言创建交互式图表和地图。
如果需要,您可能希望使用 Plotly::
- 用于统计编程语言的库。Plotly 甚至有一个 MATLAB® 库。Plotly 的 基础文档有大量的代码示例,因此如果您仍在学习,它们是一个很好的起点。
- 与 Jupyter notebooks 或 PyCharm、QtConsole 或 Spyder 等 IDE 集成。
- 适用于您的应用程序的独立 HTML 文件。您还可以使用 Dash 将图表添加到现有的 Python Web 应用程序中。
何时您可能需要不仅仅是一个简单的可视化库
如果您已经深入进行组件驱动开发,或者拥有一支技术熟练的开发团队可以快速实施和迭代图表,那么可视化库是一个不错的选择。
但是,随着您的规模扩大,维护可视化库可能意味着承担大量开销。例如
-
如果您以任何方式超出了可视化库的功能,您将需要与维护者合作添加新功能或修复,或者转而使用一个全新的可视化库。
-
您的开发团队将需要处理嵌入和图表的临时请求,或者您将不得不寻找一个中间方案,例如添加新的接口和平台来支持不熟悉可视化库的团队。
在这些情况下,使用具有支持技术和非技术团队功能的商业智能(BI)工具可以为您节省未来时间。
开源商业智能工具
Metabase OSS 是一个免费选项,如果您需要一个快速解决方案来嵌入。您可以在几分钟内大规模创建、嵌入和迭代图表。其他 BI 工具,如 Apache Superset 或 Redash,也是开源的并提供类似的功能。
Metabase 提供了一些额外的免费、开箱即用的功能,可以满足大多数(如果不是所有)团队的需求:
- 一个适用于您的数据和开发团队的 SQL 编辑器,因此他们可以快速、轻松地查询您的数据库。
- 一个可以作为集中式位置供所有人探索表和字段的数据浏览器;了解有关您数据的更多信息。
- 一个数据建模工具,因此您的数据团队可以查看模式、编辑定义和元数据等。
- 一个直观的查询生成器和一键可视化选项,适用于不熟悉开发或数据工具的团队。每个人都可以在没有工程或数据团队支持的情况下构建和维护自己的图表和可视化。
要试用它,请查看 OSS 安装说明。