python 可视化库PyG2Plot的使用

时间:2022-11-20 00:08:39

G2 是蚂蚁金服开源一个基于图形语法,面向数据分析的统计图表引擎。G2Plot 是在 G2 基础上,屏蔽复杂概念的前提下,保留 G2 强大图形能力,封装出业务上常用的统计图表库。

G2Plot 是一个基于配置、体验优雅、面向数据分析的统计图表库,帮助开发者以最小成本绘制高质量统计图表。

那么对于很多 Python 语言环境的同学,如何使用 G2Plot 在进行数据分析之后的可视化呢?也就是
如何将 G2Plot 和 Python 结合起来?这里给出的就是基于 G2Plot 封装出 PyG2Plot,欢迎帮我充一下 Star。
**

如何使用

  1. $ pip install pyg2plot

主要有 2 种使用方式(能力扩充中,欢迎提 issue)

1. 渲染出完整的 HTML

  1. from pyg2plot import Plot
  2.  
  3. line = Plot("Line")
  4.  
  5. line.set_options({
  6. "data": [
  7. { "year": "1991", "value": 3 },
  8. { "year": "1992", "value": 4 },
  9. { "year": "1993", "value": 3.5 },
  10. { "year": "1994", "value": 5 },
  11. { "year": "1995", "value": 4.9 },
  12. { "year": "1996", "value": 6 },
  13. { "year": "1997", "value": 7 },
  14. { "year": "1998", "value": 9 },
  15. { "year": "1999", "value": 13 },
  16. ],
  17. "xField": "year",
  18. "yField": "value",
  19. })
  20.  
  21. # 1. render html file named plot.html
  22. line.render("plot.html")
  23.  
  24. # 2. render html string
  25. line.render_html()

这种情况可以用于:

  • 服务端 html 直出的场景
  • 生成可交互可视化分享
  • Excel 等工具嵌入的场景

2. 在 Jupyter notebook 中预览

  1. from pyg2plot import Plot
  2.  
  3. line = Plot("Line")
  4.  
  5. line.set_options({
  6. "height": 400, # set a default height in jupyter preview
  7. "data": [
  8. { "year": "1991", "value": 3 },
  9. { "year": "1992", "value": 4 },
  10. { "year": "1993", "value": 3.5 },
  11. { "year": "1994", "value": 5 },
  12. { "year": "1995", "value": 4.9 },
  13. { "year": "1996", "value": 6 },
  14. { "year": "1997", "value": 7 },
  15. { "year": "1998", "value": 9 },
  16. { "year": "1999", "value": 13 },
  17. ],
  18. "xField": "year",
  19. "yField": "value",
  20. })
  21.  
  22. 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. # 1. import
  2. from pyg2plot import Plot
  3.  
  4. # 2. use a plot
  5. line = Plot("Line")
  6.  
  7. # 3. set_options use G2Plot
  8. line.set_options({ data, ... })
  9.  
  10. # 4. render
  11. line.render_notebook()

而这其中 set_options API 的参数,是完全沿用 G2Plot 的配置文档,支持所有的图表、功能、特性,概念和结构上不作任何修改。

python 可视化库PyG2Plot的使用

最后

欢迎给个 Star

最后有任何的特性支持和 bug 反馈,欢迎 issue 或者 PR。

以上就是python 可视化库PyG2Plot的使用的详细内容,更多关于python 可视化库PyG2Plot的资料请关注服务器之家其它相关文章!

原文链接:https://segmentfault.com/a/1190000039044356