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基于xml parse实现解析cdatasection数据
Sep 30 Python
python插入数据到列表的方法
Apr 30 Python
Python实现感知机(PLA)算法
Dec 20 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
Flask web开发处理POST请求实现(登录案例)
Jul 26 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
Python 多个图同时在不同窗口显示的实现方法
Jul 07 Python
python随机数分布random均匀分布实例
Nov 27 Python
Python count函数使用方法实例解析
Mar 23 Python
python中format函数如何使用
Jun 22 Python
python爬虫爬取网页数据并解析数据
Sep 18 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
Zerg建筑一览
2020/03/14 星际争霸
解析php php_openssl.dll的作用
2013/07/01 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
验证用户是否修改过页面的数据的实现方法
2008/09/26 Javascript
JS array 数组详解
2009/03/22 Javascript
jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend
2010/08/03 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
Node.js测试中的Mock文件系统详解
2016/11/21 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
Python微信库:itchat的用法详解
2017/08/14 Python
原生python实现knn分类算法
2019/10/24 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
教师实习自我鉴定
2013/12/18 职场文书
群众路线表态发言材料
2014/10/17 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
烟台的海导游词
2015/02/02 职场文书
办公室禁烟通知
2015/04/23 职场文书
转正申请报告格式
2015/05/15 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书