移动测试开发 Matplotlib 绘制可视化图表

呵呵
呵呵
订阅者
267
文章
0
粉丝
测试交流1 220字数 769阅读2分33秒阅读模式

背景

在日常工作中经常需要对项目数据统计分析,形成可视化报告,直观的反映项目的质量情况。本文介绍如何使用 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 在绘制可视化图表上的简单高速,只需简单的几行代码就可以生成漂亮的图形;在数据分析的项目中开发人员就可以把工作重心放在数据的获取、处理、分析、存储等核心的业务上。

统一功能测试软件

 
    • leixs
      leixs 9

      Pandas,Matplotlib 这些数据分析行业用的比较多,现在测试行业中用这两块去做数据管理,及结果输出的多吗?

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
    确定

    拖动滑块以完成验证