深入了解Pyecharts的v0.5.x和v1.0.x的区别

一、Pyecharts简介

        Echarts是一个由百度开源的数据可视化工具,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,Pyecharts诞生了。

       Pyecharts最早只适用于工程领域的可视化开发,但是随着其对Jupyter notebook、Jupyter lab等交互式开发工具的支持不断加强,现在也开始被许多数据分析师应用到数据探索中。

1.1、Pyecharts各个版本与Python的对应关系

pyecharts 分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v1.x 是一个全新的版本。

Pyecharts各版本与python的对应关系见下表

版本V0.5.xV1.x.x
python 版本选择Python2.7,3.4+Python3.6+
   

注 :经Pyecharts开发团队决定,0.5.x 版本将不再进行维护

1.2、Pyecharts v1系列的新特性

  • 全面拥抱 Python3 和 TypeHint

        pyecharts v1.0.0 停止对 Python2.7,3.4~3.5 版本的支持和维护,仅支持 Python3.6+。如果还不知道什么是 TypeHint 的同学,劝你尽早入坑,官方入坑指南 typing — Support for type hints

        在编程界,早已流传着 动态一时爽,重构火葬场 这样的真知灼见,动态语言类型检查已经成为了一种趋势,Javascript 已经有了 Typescript,Python 也在力推 TypeHint,虽然 Python 的 TypeHint 实际上对于程序的运行并没有任何影响......,但它配合 IDE 和 mypy,或者 pyright 这样的工具可以在开发阶段趁早发现问题。

  • 弃用插件机制

        pyecharts v1.0.0 废除原有的插件机制,包括地图包插件主题插件,插件的本质是提供 pyecharts 运行所需要的静态资源文件(基本都是 .js 文件),所以现在开放了两种模式提供静态资源文件。

  online 模式,使用 pyecharts 官方提供的 assets host,或者部署自己的 remote host。
​
  local 模式,使用自己本地开启的文件服务提供 assets host(离线模式)。
  • 支持 JupyterLab

      对 JupyterLab 的支持一直是很多开发者关心的功能,毕竟 JupyterLab 号称是下一代的 Notebook。pyecharts 1.0.0 开始支持在 JupyterLab 中渲染图表啦!

#使用JupytrLab需添加如下代码
from pyecharts.globals import CurrentConfig,NotebookType
CurrentConfig,NOTEBOOK_TYPE=NotebookType.JUPYTER_LAB
#除了以上代码,还需在渲染之前执行加载JavaScript脚本的代码,这里以柱状图对象bar为例
bar.load_javascript()
#然后再渲染即可
bar.render_notebook()
  • 代码风格重构

       所有配置项均 OOP,在新版本的 pyecharts 中,一切皆 Options。配置项种类更多,可操作性更强,可以画出更丰富的图表,pyecharts 官方画廊 pyecharts/pyecharts-gallery

0.5.X 版本写法

from pyecharts import Bar
​
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("柱状图数据堆叠示例")
bar.add("商家A", attr, v1, is_stack=True)
bar.add("商家B", attr, v2, is_stack=True)
bar.render()

1.0.0 版本写法,支持链式调用

import pyecharts.options as opts
from pyecharts.charts import Bar
​
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
​
​
bar = (
    Bar()
    .add_xaxis(attr)
    .add_yaxis("商家A", v1, stack="stack1")
    .add_yaxis("商家B", v2, stack="stack1")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="柱状图数据堆叠示例"))
)
​
bar.render()
  • 支持 selenium/phantomjs 渲染图片

pyecharts 1.0.0 提供两种模式渲染图片,selenium 和 phantomjs,分别需要安装 snapshot-selenium 和 snapshot-phantomjs

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.render import make_snapshot
​
​
def bar_chart() -> Bar:
    c = (
        Bar()
        .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
        .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
        .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
        .set_global_opts(title_opts=opts.TitleOpts(title="Bar-测试渲染图片"))
    )
    return c
​
​
def render_chart_by_selenium():
    from snapshot_selenium import snapshot
    make_snapshot(snapshot, bar_chart().render(), "bar0.png")
​
​
def render_chart_by_phantomjs():
    from snapshot_phantomjs import snapshot
    make_snapshot(snapshot, bar_chart().render(), "bar1.png")

看到新版的种种优势,小伙伴们是不是跃跃欲试了?接下来我们安装并通过一系列代码体验Pyecharts。

1.2、安装 Pyecharts

v1系列版本的Pyecharts仅支持python3.6+ ,即如果你的python是3.6+,则默认会下载最新版的pyecharts。

pip install -i https://pypi.douban.com/simple pyecharts -U #使用国内软件源下载速度会快很多

安装pyecharts v0.5系列版本:

pip install -i https://pypi.douban.com/simple pyecharts==0.5.11 
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值