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 03 Python
Python中的一些陷阱与技巧小结
Jul 10 Python
Python基础语法(Python基础知识点)
Feb 28 Python
python实现应用程序在右键菜单中添加打开方式功能
Jan 09 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
Python pandas常用函数详解
Feb 07 Python
用python标准库difflib比较两份文件的异同详解
Nov 16 Python
Python实现E-Mail收集插件实例教程
Feb 06 Python
Python shutil模块用法实例分析
Oct 02 Python
python Shapely使用指南详解
Feb 18 Python
浅析python连接数据库的重要事项
Feb 22 Python
基于PyQt5制作一个群发邮件工具
Apr 08 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
PHP 图片水印类代码
2012/08/27 PHP
PHP中Http协议post请求参数
2015/11/02 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
2016/09/11 PHP
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
儿科护士实习自我鉴定
2013/10/17 职场文书
测绘工程系学生的自我评价
2013/11/30 职场文书
小学生班会演讲稿
2014/01/09 职场文书
财务主管自我鉴定
2014/01/17 职场文书
房地产活动策划方案
2014/05/14 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
入党介绍人意见2015
2015/06/01 职场文书