前言

我们都知道百度开源了一个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的介绍和安装,以及绘制最基本的柱状图,后面我们会继续介绍绘制热力图以及其他图形,敬请期待!


霍格沃兹测试学院
44 声望27 粉丝