flask pyecharts_告别Matplotlib,可视化神器Pyecharts带你飞

导读:提到Python的可视化绘图库,Matplotlib可谓经典中的经典,但要想做一些高大上的图表,Matplotlib就显得有些吃力了。那我们今天就来介绍一款功能强大的可视化神器--Pyecharts,让你的Python可视化效果更上一层楼。

先放几张张动图,感受一下Pyecharts的魅力:

30bcbf90b4efe27460b9f76078d76b32.gif

数据选择

acdd2641f5d26a3893f70735698825b2.gif

比例放缩

39c663531064df0876fe2f37a9a43b41.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

而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

根据官网介绍,目前的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

配置资源:

  1. 若你平常使用的是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

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

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

Pycharts提供的示例相当丰富,对于熟练使用Python的程序员,通过示例学习,基本上一天就可以掌握其基本的操作。

有没有缺点?

有点突出,缺点也是有的,经过几天的试用,个人感觉到的缺点有以下几点:

  • 参数太多,绘制起来代码有点复杂;
  • 打印输出的notebook不能很好的保存,画面不能显示;
  • 保存出来的png图片不美观,主要用来做网页端开发比较好,拿来装x也是可以的;
cd07bd838d1cac905cb4e2505b72c255.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值