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获得时间的实例说明
Mar 25 Python
python中os模块详解
Oct 14 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
python 利用栈和队列模拟递归的过程
May 29 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
Python WSGI的深入理解
Aug 01 Python
示例详解Python3 or Python2 两者之间的差异
Aug 23 Python
Python列表与元组的异同详解
Jul 02 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
Dec 13 Python
python名片管理系统开发
Jun 18 Python
pandas中关于apply+lambda的应用
Feb 28 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+jQuery 注册模块的改进(三):更新到Smarty3.1
2014/10/14 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
extjs fckeditor集成代码
2009/05/10 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
js控制li的隐藏和显示实例代码
2016/10/15 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
[01:05:40]VG vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[01:06]欢迎来到上海,TI9
2018/08/26 DOTA
使用Python操作excel文件的实例代码
2017/10/15 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
python实现顺时针打印矩阵
2019/03/02 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
python程序文件扩展名知识点详解
2020/02/27 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
大学生自我鉴定范文
2013/12/28 职场文书
设备售后服务承诺书
2014/05/30 职场文书
小学感恩节活动总结
2015/03/24 职场文书
培训后的感想
2015/08/07 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript
SQL 聚合、分组和排序
2021/11/11 MySQL
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers