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发送以整个文件夹的内容为附件的邮件的教程
May 06 Python
wxPython中listbox用法实例详解
Jun 01 Python
python从入门到精通(DAY 3)
Dec 20 Python
Python中函数参数设置及使用的学习笔记
May 03 Python
python模块简介之有序字典(OrderedDict)
Dec 01 Python
python中的迭代和可迭代对象代码示例
Dec 27 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
浅谈django的render函数的参数问题
Oct 16 Python
Python-Tkinter Text输入内容在界面显示的实例
Jul 12 Python
python中web框架的自定义创建
Sep 08 Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 Python
python自动计算图像数据集的RGB均值
Jun 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
程序员编程十条戒律
2009/07/09 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
PHP多态代码实例
2015/06/26 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
php+jQuery+Ajax简单实现页面异步刷新
2016/08/08 PHP
tbody元素支持嵌套的注意方法
2007/03/24 Javascript
类之Prototype.js学习
2007/06/13 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
js Math 对象的方法
2013/09/01 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
python中循环语句while用法实例
2015/05/16 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
2020/06/30 Python
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
知识改变命运演讲稿
2014/05/21 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
民事和解协议书格式
2014/11/29 职场文书
创业计划书之物流运送
2019/09/17 职场文书
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server