python 可视化库PyG2Plot的使用

作者:hustcc 时间:2022-10-14 05:22:17 

G2 是蚂蚁金服开源一个基于图形语法,面向数据分析的统计图表引擎。G2Plot 是在 G2 基础上,屏蔽复杂概念的前提下,保留 G2 强大图形能力,封装出业务上常用的统计图表库。

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

那么对于很多 Python 语言环境的同学,如何使用 G2Plot 在进行数据分析之后的可视化呢?也就是
如何将 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 进行可视化并预览出来,十分方便!

python 可视化库PyG2Plot的使用

开发原理

PyG2Plot 原理其实非常简单,其中借鉴了 pyecharts 的实现,但是因为蚂蚁金服的 G2Plot 完全基于可视分析理论的配置式结构,所以封装上比 pyecharts 简洁非常非常多。
基本的原理,就是通过 Python 语法提供 API,然后再调用 render 的时候,生成最终的 G2Plot HTML 文本,而针对不同的环境,生成的 HTML 稍有区别。

所以核心文件是:

  • plot.py: 提供了 PyG2Plot 的几乎全部 API

  • engine.py:提供了渲染 HTML 的能力,其实是基于 jinjia2 这个模板引擎实现的,基本内容很少

  • templates:提供了所有的 jinjia2 模板文件,对于模板怎么用,jinjia2 的文档是非常非常详细的

使用文档

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 的配置文档,支持所有的图表、功能、特性,概念和结构上不作任何修改。

python 可视化库PyG2Plot的使用

最后

欢迎给个 Star 🙇‍♂️

  • AntV G2Plot

  • PyG2Plot

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

来源:https://segmentfault.com/a/1190000039044356

标签:python,可视化库,PyG2Plot
0
投稿

猜你喜欢

  • golang 用msgpack高效序列化的案例

    2024-04-26 17:32:52
  • PHP 正则表达式验证中文的问题

    2024-04-10 10:56:56
  • python list排序的两种方法及实例讲解

    2021-01-14 03:42:20
  • 一文带你吃透Python中的os和sys模块

    2022-01-04 20:42:55
  • Python如何将控制台输出另存为日志文件

    2023-11-27 03:09:55
  • python django入门

    2022-05-10 02:46:19
  • 利用Python实现自动扫雷小脚本

    2023-05-10 01:45:27
  • python3 selenium自动化 frame表单嵌套的切换方法

    2022-05-15 10:26:57
  • SQL Server与Oracle数据库在安全性上的异同

    2009-02-01 14:49:00
  • python3+selenium4实现切换窗口与iframe的方法

    2022-08-08 16:34:16
  • Python几种常见算法汇总

    2023-05-15 21:11:41
  • 了解WEB页面工具语言XML(一)产生背景

    2008-09-05 17:18:00
  • OpenCV结合selenium实现滑块验证码

    2022-06-29 14:18:57
  • python pyecharts库的用法大全

    2021-04-21 13:48:05
  • Python文本统计功能之西游记用字统计操作示例

    2023-08-10 00:12:59
  • python飞机大战游戏实例讲解

    2021-12-07 14:43:26
  • PHP队列用法实例

    2023-10-20 12:30:49
  • Go语言Grpc Stream的实现

    2023-08-07 06:19:23
  • 一文带你吃透Golang中的类型转换

    2024-02-20 18:12:28
  • Python3内置json模块编码解码方法详解

    2023-02-15 13:32:26
  • asp之家 网络编程 m.aspxhome.com