Python 可视化库 PyG2Plot 使用指南:从安装到 Jupyter 预览

小岛来信
小岛来信
发布时间:2026-10-14| 2人浏览过
原创

本文介绍 PyG2Plot,一个基于蚂蚁金服 G2Plot 封装的 Python 可视化库。通过该库,开发者可以在 Python 环境中轻松生成高质量统计图表。文章涵盖两种主要使用方式:生成完整 HTML 文件用于服务端直出或嵌入 Excel,以及在 Jupyter Notebook 中直接预览交互图表。核心原理涉及 plot.py 提供 API,engine.py 基于 Jinja2 渲染 HTML。

G2 是蚂蚁金服开源的基于图形语法的统计图表引擎,专注于数据分析。在此基础上,G2Plot 屏蔽了底层复杂概念,保留了 G2 强大的图形能力,封装成业务常用的统计图表库。

G2Plot 是一个配置驱动、体验优雅且面向数据分析的统计图表库,旨在帮助开发者以最低成本绘制高质量的统计图表。

对于使用 Python 进行数据分析的开发者,如何将 G2Plot 与 Python 结合进行可视化?为此,基于 G2Plot 封装出了 PyG2Plot,欢迎 Star。

如何使用


$ pip install pyg2plot

目前主要有 2 种使用方式(能力仍在扩充中,欢迎提交 issue)。

1. 渲染出完整的 HTML


from pyg2plot import Plot

line = Plot("Line")

line.set_options({
 "data": [
  { "year": "1991", "value": 3 },
  { "year": "1992", "value": 4 },
  { "year": "1993", "value": 3.5 },
  { "year": "1994", "value": 5 },
  { "year": "1995", "value": 4.9 },
  { "year": "1996", "value": 6 },
  { "year": "1997", "value": 7 },
  { "year": "1998", "value": 9 },
  { "year": "1999", "value": 13 },
 ],
 "xField": "year",
 "yField": "value",
})

# 1. render html file named plot.html
line.render("plot.html")

# 2. render html string
line.render_html()

这种模式适用于以下场景:

  • 服务端 HTML 直出的场景
  • 生成可交互的可视化内容以便分享
  • 嵌入 Excel 等工具的场景

2. 在 Jupyter notebook 中预览


from pyg2plot import Plot

line = Plot("Line")

line.set_options({
 "height": 400, # set a default height in jupyter preview
 "data": [
  { "year": "1991", "value": 3 },
  { "year": "1992", "value": 4 },
  { "year": "1993", "value": 3.5 },
  { "year": "1994", "value": 5 },
  { "year": "1995", "value": 4.9 },
  { "year": "1996", "value": 6 },
  { "year": "1997", "value": 7 },
  { "year": "1998", "value": 9 },
  { "year": "1999", "value": 13 },
 ],
 "xField": "year",
 "yField": "value",
})

line.render_notebook()

在进行数据分析教程时,可以使用 PyG2Plot 对数据进行可视化并直接预览,非常便捷。

开发原理

PyG2Plot 的原理相对简单,借鉴了 pyecharts 的实现思路。但由于蚂蚁金服的 G2Plot 完全基于可视分析理论的配置式结构,其封装比 pyecharts 简洁得多。基本流程是通过 Python 语法提供 API,调用 render 时生成最终的 G2Plot HTML 文本,针对不同环境生成的 HTML 略有差异。

因此,核心文件包括:

  • plot.py:提供了 PyG2Plot 的几乎全部 API。
  • engine.py:提供渲染 HTML 的能力,基于 Jinja2 模板引擎实现,代码量很少。
  • templates:提供所有 Jinja2 模板文件,关于模板的使用,Jinja2 文档有非常详细的说明。

使用文档

PyG2Plot 提供的 API 非常简单,使用步骤如下:


# 1. import
from pyg2plot import Plot

# 2. use a plot
line = Plot("Line")

# 3. set_options use G2Plot
line.set_options({ data, ... })

# 4. render
line.render_notebook()

其中 set_options API 的参数完全沿用 G2Plot 的配置文档,支持所有图表、功能和特性,概念和结构上不作任何修改。

最后

欢迎给个 Star 🙇♂️

  • AntV G2Plot
  • PyG2Plot

最后,如有任何特性支持或 bug 反馈,欢迎提交 issue 或者 PR。

以上就是 Python 可视化库 PyG2Plot 的使用的详细内容,更多关于 Python 可视化库 PyG2Plot 的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。