前言

我们都知道百度开源了一个Echarts数据可视化库,支持绘制各种主流的图表。Python在数据分析方面是十分强大的,于是,pyecharts就应运而生了。

pyecharts简介及安装

pyecharts继承了Echarts的优点,有如下特点:

  • 囊括了 30+ 种常见图表,应有尽有
  • 高度灵活的配置项,可轻松搭配出精美的图表
  • 多达 400+ 地图,为地理数据可视化提供强有力的支持
  • 简洁的 API 设计,使用如丝滑般流畅,支持链式调用

详细内容可见:pyecharts官方文档

和以往的神级第三方库一样,安装的步骤还是一条pip命令。

pip install pyecharts

检查是否安装成功及版本如下所示:

import pyechartsPRint(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()

图如下所示:

软件测试|Python数据可视化神器——pyecharts教程(一)  第1张

代码也可以写成链式调用的方式,产生的结果是一样的,如下所示:

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 Barfrom pyecharts import options as optsx_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()

结果如下图所示:

软件测试|Python数据可视化神器——pyecharts教程(一)  第2张

坐标轴翻转

pyecharts同样支持坐标轴翻转,只需要加上reversal_axis()参数即可,代码如下:

from pyecharts.charts import Barfrom pyecharts import options as optsx_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()
软件测试|Python数据可视化神器——pyecharts教程(一)  第3张

总结

本文主要内容是pyecharts的介绍和安装,以及绘制最基本的柱状图,后面我们会继续介绍绘制热力图以及其他图形,敬请期待!