python 可视化库PyG2Plot的使用


Posted in Python onJanuary 21, 2021

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。

以上就是python 可视化库PyG2Plot的使用的详细内容,更多关于python 可视化库PyG2Plot的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
详解在Python程序中使用Cookie的教程
Apr 30 Python
Python检测字符串中是否包含某字符集合中的字符
May 21 Python
Python中的命令行参数解析工具之docopt详解
Mar 27 Python
python技能之数据导出excel的实例代码
Aug 11 Python
python实现对excel进行数据剔除操作实例
Dec 07 Python
python字典快速保存于读取的方法
Mar 23 Python
Python mutiprocessing多线程池pool操作示例
Jan 30 Python
python 处理telnet返回的More,以及get想要的那个参数方法
Feb 14 Python
Python绘制股票移动均线的实例
Aug 24 Python
使用python接受tgam的脑波数据实例
Apr 09 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
Jan 21 #Python
Python实现石头剪刀布游戏
Jan 20 #Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 #Python
python3中celery异步框架简单使用+守护进程方式启动
Jan 20 #Python
Django+Django-Celery+Celery的整合实战
Jan 20 #Python
详解Python Celery和RabbitMQ实战教程
Jan 20 #Python
详解python3类型注释annotations实用案例
Jan 20 #Python
You might like
php中mysql连接方式PDO使用详解
2015/02/25 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
滚动经典最新话题[prototype框架]下编写
2006/10/03 Javascript
Aptana调试javascript图解教程
2009/11/30 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
JS仿淘宝实现的简单滑动门效果代码
2015/10/14 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
利用python分析access日志的方法
2016/10/26 Javascript
Angular.js初始化之ng-app的自动绑定与手动绑定详解
2017/07/31 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
浅谈webpack devtool里的7种SourceMap模式
2019/01/14 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
Python导入txt数据到mysql的方法
2015/04/08 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
python实现无边框进度条的实例代码
2020/12/30 Python
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
艺术应用与设计个人的自我评价
2013/11/23 职场文书
运动会表扬稿大全
2014/01/16 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
感谢信怎么写
2015/01/21 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
Docker下安装Oracle19c
2022/04/13 Servers