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 实现插入排序算法
Jun 05 Python
python的dict,set,list,tuple应用详解
Jul 24 Python
Python 2.x如何设置命令执行的超时时间实例
Oct 19 Python
Python3中bytes类型转换为str类型
Sep 27 Python
Jupyter notebook在mac:linux上的配置和远程访问的方法
Jan 14 Python
Python利用scapy实现ARP欺骗的方法
Jul 23 Python
Python数据分析模块pandas用法详解
Sep 04 Python
python 等差数列末项计算方式
May 03 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
浅析Python 多行匹配模式
Jul 24 Python
python爬取豆瓣电影排行榜(requests)的示例代码
Feb 18 Python
Python爬虫之爬取最新更新的小说网站
May 06 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下检测字符串是否是utf8编码的代码
2008/06/28 PHP
php 格式化数字的时候注意数字的范围
2010/04/13 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
javascript的回调函数应用示例
2014/02/20 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
2015/12/13 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
python plotly画柱状图代码实例
2019/12/13 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
澳大利亚最好的厨具店:Kitchen Warehouse
2018/03/13 全球购物
数据库专业英语
2012/11/30 面试题
幼儿园运动会加油词
2014/02/14 职场文书
出生证明公证书
2014/04/09 职场文书
保证书格式范文
2014/04/28 职场文书
医院党员公开承诺书
2014/08/30 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
2014年民警工作总结
2014/11/25 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
在Python 中将类对象序列化为JSON
2022/04/06 Python