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中利用生成器实现的并发编程
May 04 Python
python通过socket查询whois的方法
Jul 18 Python
Python实现将DOC文档转换为PDF的方法
Jul 25 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
windows下python和pip安装教程
May 25 Python
django用户登录和注销的实现方法
Jul 16 Python
python实现大文本文件分割
Jul 22 Python
解决pyshp UnicodeDecodeError的问题
Dec 06 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
Feb 18 Python
Python正则表达式学习小例子
Mar 03 Python
Python爬虫简单运用爬取代理IP的实现
Dec 01 Python
python OpenCV学习笔记
Mar 31 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 时间日期操作实战
2011/08/26 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
Javascript面向对象编程
2012/03/18 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
纯JS实现根据CSS的class选择DOM
2014/03/22 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
使用pdb模块调试Python程序实例
2015/06/02 Python
Python ftp上传文件
2016/02/13 Python
python 网络爬虫初级实现代码
2016/02/27 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
pybind11在Windows下的使用教程
2019/07/04 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
python tkinter基本属性详解
2019/09/16 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
员工自我鉴定
2013/10/09 职场文书
新员工欢迎词
2014/01/12 职场文书
酒店值班经理的工作职责范本
2014/02/18 职场文书
如何书写邀请函?
2019/06/24 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python