• 售前

  • 售后

热门帖子
入门百科

python 绘图模块matplotlib的利用简介

[复制链接]
素身素 显示全部楼层 发表于 2021-10-26 13:11:42 |阅读模式 打印 上一主题 下一主题
上周对线上某几个磁盘举行了fio硬盘性能测试,测试完成之后的效果必要绘制成图像展示出来。我在官网上查找了一下fio自带的下令fio_generate_plot和fio2gnuplot工具的用法,找到了图像的绘制方法,在某一个单一的场景下,确实可以使用这两个工具来举行硬盘性能图像绘制,但是题目是,如果要对比多个场景下绘制出来的图像的差别,fio自带的画图工具实现起来就有些困难了,但是确实也能实现。比方下图:

如图所示为磁盘iodepth稳定,numjobs在(1,8,16)三种差别的场景下绘制出来的效果,具体怎么绘制的,包涵我临时也没找到办法。这是前人绘制出来的图像。
那么为了换一种思路办理这个题目,我查找了python的画图方法,找到了使用python matplotlib模块绘制多条曲线图的方法。如果你的电脑上没有自带这个模块,请使用:
  1. pip install matplotlib
复制代码
下令来举行安装。
来看看matplotlib绘制曲线的方法:
  1. # /usr/bin/env python
  2. # -*- coding=utf-8 -*-
  3. import matplotlib.pyplot as plt
  4. def PlotDemo1():
  5.   fig = plt.figure() # figure对象可以看成整个图表。在figure图表之上增加多个子图,然后在子图之上绘制点和线
  6.   # 通过add_subplot增加子图(返回了一个axes坐标轴),该方法需要三个参数,分别为:numrows, numcols, fignum。其中,一共有numrows*numcols个子图,
  7.   # 将图表分为N行*M列,fignum标识了该子图的顺序,其范围从1到numrows*numcols。在上例中1,1,1表示了该绘图对象仅有1个子图,也就是1*1类型
  8.   ax = fig.add_subplot(1, 1, 1)
  9.   ax.plot([1, 2, 3, 4])  # 指定纵坐标,此时横坐标数量会自动设置的和纵坐标数量相等,从0开始,也就是横坐标会变成[0,1,2,3]
  10.   ax.plot([1,2,3,4],[2,3,4,5]) # 指定横坐标和纵坐标,绘制另外一条曲线
  11.   plt.show()
  12. PlotDemo1()
复制代码
这里我绘制了最简单的2条曲线,ax这个变量内里可以继续添加必要plot的x数组和y数组,这样就可以在一张图内里绘制多少条线。来看上面代码绘制的效果图:

可以看到有两条线:
第一条是蓝色的线,也就是:
ax.plot([1,2,3,4])
这条下令传入的参数代表纵坐标的值,由于没有转达横坐标,因此横坐标默认从0开始,以1位单元递增。
第二条是橙色的线条:
ax.plot([1,2,3,4],[2,3,4,5])
这条下令第一个数组是x轴的数组,第二个数组是Y轴的数组
这两条线出现了部门重复的地方,以是看上去像是一条直线一样。
有了这个绘制的思路,我们就可以将我们必要绘制的点,放在两个list内里,此中一个作为横坐标,另外一个作为纵坐标,这样就可以绘制出来我们想要的图像了,关于图像的标题、横纵坐标分析、图示等等,都可以使用对应的函数来举行丰富。具体的绘制方法,可以参考网上更加具体的模块分析,这里我就提供一个思路,希望对大家有帮助。
末了,上一下使用python画出来的几张磁盘性能的图,可以跟上面的图举行对比:

以上就是python 画图模块matplotlib的使用简介的具体内容,更多关于python 画图模块matplotlib的资料请关注脚本之家其它相关文章!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作