‧
阅读时间:5分钟
比较最受欢迎的开源图表库
Metabase 团队
‧ 5分钟阅读
分享这篇文章
以下是关于一些最受欢迎的图表库的概述,帮助您确定哪个库可能最适合您的嵌入式项目,以及讨论何时您应该考虑一个更完整的解决方案。
Chart.js
Chart.js 是一个始于2013年的开源JavaScript可视化库,根据GitHub星数和npm下载量,随着时间的推移,已经成为最受欢迎的图表库。
如果您
- 拥有大量数据集。数据使用它们的内部格式进行摄取,因此您只需设置
parsing: true
,它就会为您解析数据。 - 需要一个活跃的开发社区来依靠。查看 Chart.js 的 Discord 频道 和 资源列表。
- 需要插件支持。有很多与Chart.js相关的仓库可供测试和使用。例如,Chart.js有一个维护良好、广受欢迎的React组件库。
Visx
由Airbnb的工程和数据科学团队策划,visx是一组用于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上的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 或数据团队支持的情况下构建和维护自己的图表和可视化。
要试用它,请查看 OSS 安装说明。