移动测试开发 Matplotlib 绘制可视化图表
背景
在日常工作中经常需要对项目数据统计分析,形成可视化报告,直观的反映项目的质量情况。本文介绍如何使用 matplotlib 库绘制图表的方法,可视化图表常见的有折线图、直方图、柱状图、饼图,其他复杂的图形大都是基于以上几种组合变换而来。
Matplotlib 简介
Matplotlib 是 Python 中最常用的可视化工具之一,可以非常方便地创建 2D 图表和一些基本的 3D 图表,Matplotlib 中最基础的模块是 pyplot,开发者可以仅需要几行代码,便可以生成线形图,直方图,柱状图,条形图,散点图等。
使用 Matplotlib 库基本的绘图流程:
1.创建画布
2.创建子图(可选)
3.添加标题、x 轴名称、y 轴名称
4.设置 x 轴和 y 轴刻度、范围
5.绘制图形
6.显示图形
7.保存图形
实现
首先以最常用的折线图为例,介绍如何使用 matplotlib 库
1.图表中显示中文,先设置字体为宋体
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
2.准备数据,这里是用 numpy 生成了测试数据,实际的项目应用中需要从业务中获取
x = np.arange(0,10,1) #横轴数据
y = x**2 #纵轴数据
3.创建空白画布并设定画布大小和分辨率
plt.figure(figsize=(6,4),dpi=90)
4.设置图形标题和 x 轴、y 轴名称
plt.title('折线图')
plt.xlabel('x轴')
plt.ylabel('y轴')
5.设置 x、y 轴取值范围和刻度
plt.xlim(0,10)
plt.ylim(0,105)
plt.xticks([0,2,4,6,8,10])
plt.yticks([0,25,50,75,100])
6.调用 plot 方法绘制
plt.plot(x, y, label='平方')
7.显示网格线、图例
plt.legend()
plt.grid(True)
8.最后显示图形
plt.show()
P1
如果需要绘制多条线时,调用几次 plot 函数即可; 折线图的其他样式比如线条的颜色、样式等还有很多,感谢兴趣的小伙伴可以查看 pyplot.plot 函数的帮助文档。
函数原型:
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
其他常见图表
1.直方图
P2
P3
函数原型:
matplotlib.pyplot.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, *, data=None, **kwargs)
2.柱状图
普通柱状图比较简单,就不介绍了,下边说说并列状态图和叠加柱状图。
并列柱状图
P4
P5
叠加柱状图
P6
P7
函数原型:
matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)
3.饼图
P8
P9
函数原型:
matplotlib.pyplot.pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=0, radius=1, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, *, normalize=True, data=None)
总结
通过以上的例子,可以了解到 Matplotlib 在绘制可视化图表上的简单高速,只需简单的几行代码就可以生成漂亮的图形;在数据分析的项目中开发人员就可以把工作重心放在数据的获取、处理、分析、存储等核心的业务上。