背景
在日常工作中经常需要对项目数据统计分析,形成可视化报告,直观的反映项目的质量情况。本文介绍如何使用 matplotlib 库绘制图表的方法,可视化图表常见的有折线图、直方图、柱状图、饼图,其他复杂的图形大都是基于以上几种组合变换而来。
Matplotlib 简介
Matplotlib 是 Python 中最常用的可视化工具之一,可以非常方便地创建 2D 图表和一些基本的 3D 图表,Matplotlib 中最基础的模块是 pyplot,开发者可以仅需要几行代码,便可以生成线形图,直方图,柱状图,条形图,散点图等。文章源自玩技e族-https://www.playezu.com/193455.html
使用 Matplotlib 库基本的绘图流程:
1.创建画布
2.创建子图(可选)
3.添加标题、x 轴名称、y 轴名称
4.设置 x 轴和 y 轴刻度、范围
5.绘制图形
6.显示图形
7.保存图形文章源自玩技e族-https://www.playezu.com/193455.html
实现
首先以最常用的折线图为例,介绍如何使用 matplotlib 库
1.图表中显示中文,先设置字体为宋体文章源自玩技e族-https://www.playezu.com/193455.html
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
2.准备数据,这里是用 numpy 生成了测试数据,实际的项目应用中需要从业务中获取文章源自玩技e族-https://www.playezu.com/193455.html
x = np.arange(0,10,1) #横轴数据
y = x**2 #纵轴数据
3.创建空白画布并设定画布大小和分辨率文章源自玩技e族-https://www.playezu.com/193455.html
plt.figure(figsize=(6,4),dpi=90)
4.设置图形标题和 x 轴、y 轴名称文章源自玩技e族-https://www.playezu.com/193455.html
plt.title('折线图')
plt.xlabel('x轴')
plt.ylabel('y轴')
5.设置 x、y 轴取值范围和刻度文章源自玩技e族-https://www.playezu.com/193455.html
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 方法绘制文章源自玩技e族-https://www.playezu.com/193455.html
plt.plot(x, y, label='平方')
7.显示网格线、图例文章源自玩技e族-https://www.playezu.com/193455.html
plt.legend()
plt.grid(True)
8.最后显示图形文章源自玩技e族-https://www.playezu.com/193455.html
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 在绘制可视化图表上的简单高速,只需简单的几行代码就可以生成漂亮的图形;在数据分析的项目中开发人员就可以把工作重心放在数据的获取、处理、分析、存储等核心的业务上。
统一功能测试软件
未知地区 1F
Pandas,Matplotlib 这些数据分析行业用的比较多,现在测试行业中用这两块去做数据管理,及结果输出的多吗?