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编程pygal绘图实例之XY线
Dec 09 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
python list是否包含另一个list所有元素的实例
May 04 Python
python验证码识别教程之利用滴水算法分割图片
Jun 05 Python
VSCode Python开发环境配置的详细步骤
Feb 22 Python
Python代码实现http/https代理服务器的脚本
Aug 12 Python
基于django传递数据到后端的例子
Aug 16 Python
pandas按行按列遍历Dataframe的几种方式
Oct 23 Python
python实现IOU计算案例
Apr 12 Python
基于Python 函数和方法的区别说明
Mar 24 Python
Pytorch中TensorBoard及torchsummary的使用详解
May 12 Python
安装pytorch时报sslerror错误的解决方案
May 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
PHP Token(令牌)设计
2008/03/15 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
Vue 组件注册全解析
2020/12/17 Vue.js
js实现鼠标拖曳效果
2020/12/30 Javascript
python实现爬虫下载漫画示例
2014/02/16 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
python得到电脑的开机时间方法
2018/10/15 Python
python采集微信公众号文章
2018/12/20 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Python性能分析工具Profile使用实例
2019/11/19 Python
BeautifulSoup获取指定class样式的div的实现
2020/12/07 Python
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014年项目工作总结
2014/11/24 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
郭明义观后感
2015/06/08 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
vue首次渲染全过程
2021/04/21 Vue.js