这个开源项目推荐给大家的是一个很不错的可视化库——PyG2Plot。首先介绍一下G2Plot。G2Plot是蚂蚁集团开源的基于图表分类法的可视化分析图表库。它内置了25种以上的常用图表类型。是一个简单易用的统计图表库,具有一定的扩展和组合能力。基于图形语法理论建立。另外PyG2Plot是@AntV/G2Plot在Python3上的封装,在数据结构上完全没有做任何二次封装,所以配置文档可以参考G2Plot官方文档,减少自己的维护成本和开发商。了解入门成本。安装和使用都很简单,如下:1.安装pipinstallpyg2plot2,使用渲染成html的方法frompyg2plotimportPlotline=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.渲染成html文件line.render("plot.html")#2.渲染成html字符串line.render_html()在Jupyter中使用frompyg2plotimportPlotline=Plot("Line")line.set_options({"height":400,#在jupyter预览中设置默认高度"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.渲染到notebookline。render_notebook()#2.渲染到jupyterlabline.render_jupyter_lab()目前pyg2plot只提供了一个简单的API:Plot,使用方法如下:Plot(plot_type:str):获取Plot对应的类实例plot.set_options(options:object):为图表实例设置一个G2Plot图形配置。文档可以直接参考G2Plot官网,没有任何二次数据结构封装。plot.render(path,env,**kwargs):渲染一个HTML文件,可以传入文件的路径,以及jinja2的env和kwargs参数。plot.render_notebook(env,**kwargs):将图形渲染到jupyter的预览。plot.render_jupyter_lab(env,**kwargs):将图形渲染到jupyterlab的预览。plot.render_html(env,**kwargs):渲染一个HTML字符串,可以传入jinja2env和kwargs参数。plot.dump_js_options(env,**kwargs):输出Javascript选项配置结构,同时可以传入jinja2的env和kwargs参数,可以用来返回HTTP结构中的数据结构服务器。3、支持图表pyg2plot支持多种类型的图表,非常好用。效果图如下:举几个例子,下面分别是面积图、柱状图、双轴图。可以看到可视化效果非常好。4。技术原理PyG2Plot的原理其实很简单,借鉴了pyecharts的实现,但是由于蚂蚁金服的G2Plot完全基于可视化分析理论的配置结构,所以封装比pyecharts要简单的多。基本原理是通过Python语法提供API,然后在调用render时生成最终的G2PlotHTML文本,不同环境生成的HTML略有不同。生成HTML,直接使用普通的html模板,然后脚本导入G2Plot资源,生成G2PlotJavaScript代码,渲染到Jupyter环境。当生成的内容比较特殊时,使用requireJS加载G2Plot资源。逻辑一致性原则可以理解为一种统一的方式来封装所有语言的JavaScript模块。所以对于PyG2Plot来说,核心文件是:plot.py:提供PyG2Plotengine.py的几乎所有API:提供渲染HTML的能力,其实是基于模板引擎实现的模板jinja2:提供所有jinja2模板文件,对于templates如何使用,jinja2的文档很详细,比较有技术干货。欢迎来到工作z号--Python编程学习圈了解,还可以领取海量学习资料和教程!
