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流程控制语句
Dec 04 Python
用生成器来改写直接返回列表的函数方法
May 25 Python
Python利用openpyxl库遍历Sheet的实例
May 03 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
实时获取Python的print输出流方法
Jan 07 Python
python+selenium实现自动化百度搜索关键词
Jun 03 Python
python模拟键盘输入 切换键盘布局过程解析
Aug 15 Python
Django和Flask框架优缺点对比
Oct 24 Python
Python如何使用PIL Image制作GIF图片
May 16 Python
浅谈Python描述数据结构之KMP篇
Sep 06 Python
python开发一个解析protobuf文件的简单编译器
Nov 17 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
Docker 如何布置PHP开发环境
2016/06/21 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
PHP实现二维数组按某列进行排序的方法
2016/11/18 PHP
php批量删除操作代码分享
2017/02/26 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
javascript instanceof 内部机制探析
2010/10/15 Javascript
导航跟随滚动条置顶移动示例代码
2013/09/11 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
Angular4学习笔记之实现绑定和分包
2017/08/01 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
Python进程间通信之共享内存详解
2017/10/30 Python
python实现微信小程序自动回复
2018/09/10 Python
对python csv模块配置分隔符和引用符详解
2018/12/12 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
在python下实现word2vec词向量训练与加载实例
2020/06/09 Python
PyQt实现计数器的方法示例
2021/01/18 Python
前端面试必备之html5的新特性
2017/09/05 HTML / CSS
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
应届生英语教师求职信
2013/11/05 职场文书
工作表现自我评价
2014/02/08 职场文书
销售团队获奖感言
2014/08/14 职场文书
校运动会广播稿300字
2014/10/07 职场文书
学雷锋倡议书
2015/01/19 职场文书
会议主持词开场白
2015/05/28 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers