Python数据可视化神器——pyecharts教程(一)
前言
我们都知道百度开源了一个Echarts数据可视化库,支持绘制各种主流的图表。Python在数据分析方面是十分强大的,于是,pyecharts就应运而生了。
pyecharts简介及安装
pyecharts继承了Echarts的优点,有如下特点:
- 囊括了 30+ 种常见图表,应有尽有
- 高度灵活的配置项,可轻松搭配出精美的图表
- 多达 400+ 地图,为地理数据可视化提供强有力的支持
- 简洁的 API 设计,使用如丝滑般流畅,支持链式调用
详细内容可见:pyecharts官方文档
和以往的神级第三方库一样,安装的步骤还是一条pip命令。
pip install pyecharts
检查是否安装成功及版本如下所示:
import pyecharts print(pyecharts.__version__) ---------------------------------------- 2.0.1
如上所示,即表示安装成功。
使用方法
先来看一个简单的例子,代码如下
bar = Bar() bar.add_xaxis(["朗逸", "帕萨特", "途观", "途昂", "凌渡", "途安"]) bar.add_yaxis("销量", [28000, 9000, 7500, 6000, 4800, 3600]) bar.set_global_opts(title_opts=opts.TitleOpts(title="上汽大众", subtitle="上汽大众一月份车型销量")) bar.render()
图如下所示:
代码也可以写成链式调用的方式,产生的结果是一样的,如下所示:
bar = ( Bar() .add_xaxis(["朗逸", "帕萨特", "途观", "途昂", "凌渡", "途安"]) .add_yaxis("销量", [28000, 9000, 7500, 6000, 4800, 3600]) .set_global_opts(title_opts=opts.TitleOpts(title="上汽大众", subtitle="上汽大众一月份车型销量")) ) bar.render()
单独调用方式和链式调用方式都可以实现我们的操作,pyecharts所有方法均支持链式调用。
柱状图堆叠
还是和上面的例子一样,当我们需要统计上汽大众各车型前两个月的销量总和并绘图,我们需要怎么操作?pyecharts提供了绘制堆叠柱状图的功能,代码如下:
from pyecharts.charts import Bar from pyecharts import options as opts x_attr = ['朗逸', '帕萨特', '途观', '途昂', '凌渡', '途安'] data1 = [28000, 9000, 7500, 6000, 4800, 3600] data2 = [32000, 12000, 10800, 7500, 6000, 3000] bar = Bar() bar.add_xaxis(x_attr) # 不同系列的数据使用相同的stack值会堆叠在一起 bar.add_yaxis('一月份', data1,stack=1) bar.add_yaxis('二月份', data2,stack=1) bar.set_global_opts(title_opts=opts.TitleOpts(title="上汽大众", subtitle="上汽大众1-2月份车型销量")) bar.render()
结果如下图所示:
坐标轴翻转
pyecharts同样支持坐标轴翻转,只需要加上reversal_axis()参数即可,代码如下:
from pyecharts.charts import Bar from pyecharts import options as opts x_attr = ['朗逸', '帕萨特', '途观', '途昂', '凌渡', '途安'] data1 = [28000, 9000, 7500, 6000, 4800, 3600] data2 = [32000, 12000, 10800, 7500, 6000, 3000] bar = Bar() bar.add_xaxis(x_attr) # 不同系列的数据使用相同的stack值会堆叠在一起 bar.add_yaxis('一月份', data1,stack=1) bar.add_yaxis('二月份', data2,stack=1) bar.set_global_opts(title_opts=opts.TitleOpts(title="上汽大众", subtitle="上汽大众1-2月份车型销量")) bar.reversal_axis() bar.render()
总结
本文主要内容是pyecharts的介绍和安装,以及绘制最基本的柱状图,后面我们会继续介绍绘制热力图以及其他图形,敬请期待!