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 Django模板的使用方法(图文)
Nov 04 Python
从零学Python之入门(四)运算
May 27 Python
Python实现子类调用父类的方法
Nov 10 Python
教你用python3根据关键词爬取百度百科的内容
Aug 18 Python
用python制作游戏外挂
Jan 04 Python
详解Python装饰器
Mar 25 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
基于python实现蓝牙通信代码实例
Nov 19 Python
详解python环境安装selenium和手动下载安装selenium的方法
Mar 17 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
Aug 05 Python
Numpy中np.random.rand()和np.random.randn() 用法和区别详解
Oct 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中for循环语句的几种变型
2007/03/16 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
destoon常用的安全设置概述
2014/06/21 PHP
PHP使用ob_start生成html页面的方法
2014/11/07 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
2010/11/21 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
jquery图片切换实例分析
2015/04/15 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
Vue resource三种请求格式和万能测试地址
2018/09/26 Javascript
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
python pdb调试方法分享
2014/01/21 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
Python编程flask使用页面模版的方法
2018/12/28 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
2012/12/31 HTML / CSS
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
租房协议书样本
2014/08/20 职场文书
四年级语文教学反思
2016/03/03 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python