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实现根据图标提取分类应用程序实例
Sep 28 Python
Python元组拆包和具名元组解析实例详解
Mar 26 Python
python 用正则表达式筛选文本信息的实例
Jun 05 Python
python3将视频流保存为本地视频文件
Jun 20 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
Dec 13 Python
Python面向对象程序设计构造函数和析构函数用法分析
Apr 12 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
Python assert语句的简单使用示例
Jul 28 Python
pycharm工具连接mysql数据库失败问题
Apr 01 Python
django数据模型中null和blank的区别说明
Sep 02 Python
基于flask实现五子棋小游戏
May 25 Python
Python OpenCV超详细讲解基本功能
Apr 02 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 无限极分类
2008/03/27 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
javascript中万恶的function实例分析
2011/05/25 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
2015/03/27 Javascript
jQuery模仿单选按钮选中效果
2016/06/24 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
Python中使用SAX解析xml实例
2014/11/21 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
TensorFlow saver指定变量的存取
2018/03/10 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
python实现大文本文件分割
2019/07/22 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
python 实现单例模式的5种方法
2020/09/23 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
经典c++面试题三
2015/07/08 面试题
买卖协议书范本
2014/04/21 职场文书
小学语文课后反思精选
2014/04/25 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
个人工作能力自我评价
2015/03/05 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL