python模块_python绘图模块之matplotlib

64bfaec5f6234699b894aaa4e1808de8.png

b4c26a67ba43dad6397441a9e33b1abc.gif//

python绘图模块之matplotlib

//

    上周对线上某几个磁盘进行了fio硬盘性能测试,测试完成之后的结果需要绘制成图像展示出来。我在官网上查找了一下fio自带的命令fio_generate_plot和fio2gnuplot工具的用法,找到了图像的绘制方法,在某一个单一的场景下,确实可以使用这两个工具来进行硬盘性能图像绘制,但是问题是,如果要对比多个场景下绘制出来的图像的差异,fio自带的绘图工具实现起来就有些困难了,但是确实也能实现。例如下图:

92850a7f64aae7c97d295dee8656bd69.png

如图所示为磁盘iodepth不变,numjobs在(1,8,16)三种不同的场景下绘制出来的结果,具体怎么绘制的,原谅我暂时也没找到办法。这是前人绘制出来的图像。

那么为了换一种思路解决这个问题,我查找了python的绘图方法,找到了使用python matplotlib模块绘制多条曲线图的方法。如果你的电脑上没有自带这个模块,请使用:

pip install matplotlib命令来进行安装。

来看看matplotlib绘制曲线的方法:

# /usr/bin/env python

这里我绘制了最简单的2条曲线,ax这个变量里面可以继续添加需要plot的x数组和y数组,这样就可以在一张图里面绘制若干条线。来看上面代码绘制的结果图:

02a30cc38aa45c3a7f89d6cdb1ac71f4.png

可以看到有两条线:

第一条是蓝色的线,也就是:

ax.plot([1,2,3,4])

这条命令传入的参数代表纵坐标的值,因为没有传递横坐标,因此横坐标默认从0开始,以1位单位递增。

第二条是橙色的线条:

ax.plot([1,2,3,4],[2,3,4,5])

这条命令第一个数组是x轴的数组,第二个数组是Y轴的数组

这两条线出现了部分重复的地方,所以看上去像是一条直线一样。

有了这个绘制的思路,我们就可以将我们需要绘制的点,放在两个list里面,其中一个作为横坐标,另外一个作为纵坐标,这样就可以绘制出来我们想要的图像了,关于图像的标题、横纵坐标说明、图示等等,都可以使用对应的函数来进行丰富。具体的绘制方法,可以参考网上更加详细的模块说明,这里我就提供一个思路,希望对大家有帮助。

最后,上一下利用python画出来的几张磁盘性能的图,可以跟上面的图进行对比:

b661215dd7cb27aa50b8e0aaed46581d.png

e89af10c5bfe5c3353cdf1c545bd6e01.png 6e49af5cf15a361dbc89345cf52370e7.png有帮助的话还希望点下再看哈
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值