Echarts是百度开源的数据可视化工具,它凭借着良好的交互性、丰富的图表类型和精巧的图表设计,得到了众多开发者的认可,也为众多数据新闻学习者所熟知。而Python是一门富有表达力的语言,很适合用于数据抓取与处理。当数据分析遇上数据可视化时,pyecharts便诞生了。
01pyecharts是什么?适用于哪类人群?
pyecharts是一个 用于生成Echarts图表的Python类库,简单点说,就是用Python代码作出Echarts工具里面的交互性图表。 pyecharts囊括了 30多种常见图表,拥有 400多种地图文件以及原生的百度地图,图表类型十分丰富,并且具有高度灵活的配置项,可以轻松搭配出各种不同的精美图表。可以说,pyecharts基本实现了Echarts的大部分功能,对于具有一定Python语言基础的学习者来讲易于上手。官方文档中的百度地图使用案例
如果相较于JavaScript语言,你 对Python语言更加熟悉,或者你希望在利用Python进行数据分析之后 一鼓作气快速实现可视化呈现,那么pyecharts一定是你的不二之选。02
pyecharts图表介绍
在pyecharts官网介绍文档中,图表被分为了7类,分别为基本图表、直角坐标系图表、树型图表、地理图表、3D图表、组合图表和HTML组件。
基本图表有饼图、词云图、桑基图、日历图、漏斗图、仪表盘等13种图表;直角坐标系图表有柱状图、折线图、散点图、热力图等9种图表;树型图表有树图和矩阵树图2种。
每一种图表都具有交互性(当然也可以通过配置项关闭交互功能),并且每一类图表官网都提供了多个风格的模板,本文在这里对常见图表就不进行一一介绍了,接下来我们以最基本的饼状图为例(本文演示数据图包含的数据均没有实际含义,仅供效果演示使用)。
第一张图片是基础饼图,第二张图片是环图,再经过变化可以作出图三的富文本环图,第四章图片是多级富文本环图。pyecharts官方文档中会给出饼状图各种“衍生形态”,能够满足用户的各种需求。
除了“衍生图形”众多外,pyecharts中同一个图表通过参数变化还能够实现快速微调,最简单的便是调整图表的颜色主题。我们只需修改代码中的“theme”值就可快速变更图表的颜色主题(这点在最后一部分还会提到),十分方便。
除了这些基本图形以外,pyecharts还拥有丰富的地图库。世界地图、中国地图、中国某省份地图、中国各城市地图等种类应有尽有。
以上所提到的图形都是二维的,而pyecharts还能够制作出精美的三维图形,例如下图便是三维散点图。
总的来说,pyecharts图表类型丰富,既有二维图形也有三维图形,且能够通过改变个别参数实现图形的快速调整,这对于有Python基础的学习者来说十分友好。
03
pyecharts入门案例演示
pyecharts官方文档:http://pyecharts.org/#/zh-cn/intro,我们可以查看官方文档进行学习。
听了这么多介绍,接下来我们就一起来绘制一个简易交互图表吧!我们的小目标是绘制出交互式柱状图,数据为国家统计局中的2013-2018年我国农村减贫人数数据。
首次接触,我们先得安装pyecharts库。笔者使用的是Win环境,在Windows环境中,我们仅需打开命令行(win+R),输入以下代码即可:
pip install pyecharts
如果下载时出现断线或者速度过慢等下载失败问题,我们可以借助清华源来下载:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
安装过程完成之后,我们就可以着手做图了!
首先我们需要引入
Bar
、
options
以及
ThemeType
这三个模块。引入Bar是因为我们绘制的是
柱状图
;options模块用来控制数据图的一些基本参数,例如数据图
标题和副标题
等;ThemeType模块则用来控制数据图的
颜色风格
。
from pyecharts.charts import Barfrom pyecharts import options as optsfrom pyecharts.globals import ThemeType
接下来进入“正篇”,我们采用
链式调用的方法绘制一个柱状图(官方文档中有详细的结构说明):
bar = ( Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK)) .add_xaxis(["2013","2014","2015","2016","2017","2018"]) .add_yaxis("减贫人数/万人",[1650,1232,1442,1240,1289,1386]) .set_global_opts(title_opts=opts.TitleOpts(title = "2013-2018年我国农村减贫人数",subtitle="数据来源:国家统计局")) .render("bar.html"))
第二行:我们定义了柱状图Bar并且规定它的颜色主题为DARK(也可以更换为其他主题,通过调整theme实现)
第三行:添加了x轴的数据,也就是2013-2018这六个年份
第四行:添加了y轴的数据,也就是每年的减贫人数
第五行:添加数据图主标题和副标题
第六行:生成“bar.html”数据图文件
没看够?点击下面的链接阅读更多往期佳作
白杨数说 | VLOOKUP:你可能不知道EXCEL有多强
白杨数说 | 用数据新闻生动有趣地讲述“两会故事”
白杨数说丨数据新闻相关概念厘清
有任何疑问或者建议请在留言区或者公众号后台留言。
关于数据新闻业界和学界的前沿话题您还想知道些什么?数新小白杨欢迎您的留言!
期待您的关注、“在看”和转发分享。
作者 | 纪玮晨