导读:提到Python的可视化绘图库,Matplotlib可谓经典中的经典,但要想做一些高大上的图表,Matplotlib就显得有些吃力了。那我们今天就来介绍一款功能强大的可视化神器--Pyecharts,让你的Python可视化效果更上一层楼。
先放几张张动图,感受一下Pyecharts的魅力:
![30bcbf90b4efe27460b9f76078d76b32.gif](https://i-blog.csdnimg.cn/blog_migrate/0fefc7198438496fcda1964e7caad1f2.gif)
数据选择
![acdd2641f5d26a3893f70735698825b2.gif](https://i-blog.csdnimg.cn/blog_migrate/8f143abe3402fd3bda4cb12da3ab95d3.gif)
比例放缩
![39c663531064df0876fe2f37a9a43b41.gif](https://i-blog.csdnimg.cn/blog_migrate/5df2f92248af8205815fd0b3c62da158.gif)
区域选择
- 文章目录:
- 01 Pyecharts简介
- 02 安装(v1.0)
- 03 资源配置
- 04 绘图
- 05 有没有缺点?
Pyecharts简介
要讲Pyecharts,就得先提一下Echarts,ECharts 是一个基于 JavaScript 实现的开源可视化库(官网:https://echarts.apache.org/zh/index.html), 遵循 Apache-2.0 开源协议,免费商用,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)。
![5b8eb984deecae96a5ecb069fbc42851.png](https://i-blog.csdnimg.cn/blog_migrate/9b2f818afc934349ad96e880ea5f9355.jpeg)
而Pyecharts是几位大神将Echarts移植到python平台上的产物,Pyecharts的名称便是Python+Echarts的组合。Pyecharts目前已升级到1.0 (v0.5.x 和 V1 间不兼容),v1.0仅支持仅支持 Python3.6+。
Pyecharts官网:http://pyecharts.org/#/
GitHub地址:https://github.com/pyecharts
![db145f00c48d6ad3e094f963b9490fb1.png](https://i-blog.csdnimg.cn/blog_migrate/385b3da08dbb2a1e7e94f36ca3fcaed1.jpeg)
根据官网介绍,目前的v1.0有以下特性:
简洁的 API 设计,使用如丝滑般流畅,支持链式调用囊括了 30+ 种常见图表,应有尽有支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab可轻松集成至 Flask,Sanic,Django 等主流 Web 框架高度灵活的配置项,可轻松搭配出精美的图表详细的文档和示例,帮助开发者更快的上手项目多达 400+ 地图文件,并且支持原生百度地图,为地理数据可视化提供强有力的支持安装(v1.0)
直接pip安装:
$ pip install pyecharts -U
源码安装:
$ git clone https://github.com/pyecharts/pyecharts.git# 若github下载较慢,可通过以下地址下载$ git clone https://gitee.com/leonhou666/pyecharts.git$ cd pyecharts$ pip install -r requirements.txt$ python setup.py install
资源配置
完成上一步,我们就可以画图了,但是由于默认使用在线资源,所以经常出现打印出的图片加载较慢或不显示的情况,我们可以通过配置本地资源来解决。
下载资源包:
$ git clone https://github.com/pyecharts/pyecharts-assets.git# 若github下载较慢,可通过以下地址下载$ git clone https://gitee.com/leonhou666/pyecharts-assets.git
配置资源:
- 若你平常使用的是pycharm等IDE编辑器,可以配置localhost- Server,设置如下:
- 启动服务器 ()
# 命令行输入:$ cd pyecharts-assets $ python -m http.server #这一步会启动一个客户端,并给出http地址;
- 设置host
# IDE内调用from pyecharts.globals import CurrentConfig CurrentConfig.ONLINE_HOST = "http://127.0.0.1:8000/assets/"
2. 若你平常使用的是jupyter工具,可以使用Notebook-Server,设置如下:
- 安装并激活扩展插件:
$ cd pyecharts-assets# 安装并激活插件$ jupyter nbextension install assets$ jupyter nbextension enable assets/main
- 设置Host
# 在代码顶部声明 CurrentConfig.ONLINE_HOST from pyecharts.globals import CurrentConfig, OnlineHostTypeCurrentConfig.ONLINE_HOST = OnlineHostType.NOTEBOOK_HOST
- 若想在Jupyter中调用Pyechartes,还需要进行以下操作:
# 声明NoteBook类型,默认NoteBook,NoteLab需要做以下声明from pyecharts.globals import CurrentConfig, NotebookType, OnlineHostTypeCurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB# 绘图from pyecharts import Barbar = Bar()# 在第一次渲染时需要调用load_javascript()预先加载基本JavaScript文件到Notebook中bar.load_javascript()
# 显示绘制结果(注意:load_javascript()和render_botebook()方法需要在不同的cell中调用)bar.render_notebook()
绘图
Pyecharts支持30+ 种常见图表,并且提供了丰富的示例。
# 下载示例$ git clone https://github.com/pyecharts/pyecharts-gallery.git# 若github下载较慢,可通过以下地址下载$ git clone https://gitee.com/leonhou666/pyecharts-gallery.git
我们随便举几个示例:
Line:
import pyecharts.options as optsfrom pyecharts.charts import Linefrom pyecharts.faker import Fakerc = ( Line() .add_xaxis(Faker.choose()) .add_yaxis("商家A", Faker.values(), areastyle_opts=opts.AreaStyleOpts(opacity=0.5)) .add_yaxis("商家B", Faker.values(), areastyle_opts=opts.AreaStyleOpts(opacity=0.5)) .set_global_opts(title_opts=opts.TitleOpts()) .render("line_area_style.html"))
![f393179012445175d614ec74e75ef7e7.gif](https://i-blog.csdnimg.cn/blog_migrate/cd33dc76ebd1ee3eb5eb82c95cf75fd5.gif)
Bar:
from pyecharts import options as optsfrom pyecharts.charts import Barfrom pyecharts.faker import Fakerc = ( Bar() .add_xaxis(Faker.choose()) .add_yaxis("商家A", Faker.values()) .add_yaxis("商家B", Faker.values()) .set_global_opts(title_opts=opts.TitleOpts(, sub)) .render("bar_base.html"))
![1b05b3dd8adc694518060355e860b052.gif](https://i-blog.csdnimg.cn/blog_migrate/23b1d54561b9c3bb40ea13b8c0f85927.gif)
Geo:
from pyecharts import options as optsfrom pyecharts.charts import Mapfrom pyecharts.faker import Fakerc = ( Map() .add( "商家A", [list(z) for z in zip(Faker.guangdong_city, Faker.values())], "china-cities", label_opts=opts.LabelOpts(is_show=False), ) .set_global_opts( title_opts=opts.TitleOpts(), visualmap_opts=opts.VisualMapOpts(), ) .render("map_china_cities.html"))
![63eac36c3afaa8c6007dfccbb2d3d04d.gif](https://i-blog.csdnimg.cn/blog_migrate/aad41bf71113123613a37704e0d3b521.gif)
Pycharts提供的示例相当丰富,对于熟练使用Python的程序员,通过示例学习,基本上一天就可以掌握其基本的操作。
有没有缺点?
有点突出,缺点也是有的,经过几天的试用,个人感觉到的缺点有以下几点:
- 参数太多,绘制起来代码有点复杂;
- 打印输出的notebook不能很好的保存,画面不能显示;
- 保存出来的png图片不美观,主要用来做网页端开发比较好,拿来装x也是可以的;
![cd07bd838d1cac905cb4e2505b72c255.png](https://i-blog.csdnimg.cn/blog_migrate/92aca00f200155b41ade6e55d864e7ff.jpeg)