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 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
使用Python将数组的元素导出到变量中(unpacking)
Oct 27 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 Python
python实时获取外部程序输出结果的方法
Jan 12 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
Python pandas自定义函数的使用方法示例
Nov 20 Python
Tensorflow进行多维矩阵的拆分与拼接实例
Feb 07 Python
python 使用raw socket进行TCP SYN扫描实例
May 05 Python
Django ORM实现按天获取数据去重求和例子
May 18 Python
Python分类测试代码实例汇总
Jul 23 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面试题 试试看看你会不会也中招
2014/08/19 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
jquery控制display属性为none或block
2014/03/31 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
使用原生js编写一个简单的框选功能方法
2019/05/13 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
Python中关键字is与==的区别简述
2014/07/31 Python
Python中tell()方法的使用详解
2015/05/24 Python
python 实现删除文件或文件夹实例详解
2016/12/04 Python
使用Python写CUDA程序的方法
2017/03/27 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
pytorch 实现cross entropy损失函数计算方式
2020/01/02 Python
tensorflow求导和梯度计算实例
2020/01/23 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
经济职业学院毕业生自荐书
2014/03/17 职场文书
科长竞聘演讲稿
2014/05/16 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
员工自我评价范文
2015/03/11 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
Python进程池与进程锁之语法学习
2022/04/11 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技
Django框架中视图的用法
2022/06/10 Python