python 绘图模块matplotlib的使用简介

 更新时间:2021年03月23日 15:17:46   作者:AsiaYe  
这篇文章主要介绍了python 绘图模块matplotlib的使用简介,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下

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

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

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

pip install matplotlib命令来进行安装。

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

# /usr/bin/env python
# -*- coding=utf-8 -*-

import matplotlib.pyplot as plt


def PlotDemo1():
  fig = plt.figure() # figure对象可以看成整个图表。在figure图表之上增加多个子图,然后在子图之上绘制点和线
  # 通过add_subplot增加子图(返回了一个axes坐标轴),该方法需要三个参数,分别为:numrows, numcols, fignum。其中,一共有numrows*numcols个子图,
  # 将图表分为N行*M列,fignum标识了该子图的顺序,其范围从1到numrows*numcols。在上例中1,1,1表示了该绘图对象仅有1个子图,也就是1*1类型
  ax = fig.add_subplot(1, 1, 1)
  ax.plot([1, 2, 3, 4])  # 指定纵坐标,此时横坐标数量会自动设置的和纵坐标数量相等,从0开始,也就是横坐标会变成[0,1,2,3]
  ax.plot([1,2,3,4],[2,3,4,5]) # 指定横坐标和纵坐标,绘制另外一条曲线
  plt.show()


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的资料请关注脚本之家其它相关文章!

相关文章

  • Python3.8.2安装包及安装教程图文详解(附安装包)

    Python3.8.2安装包及安装教程图文详解(附安装包)

    这篇文章主要介绍了Python3.8.2安装包及安装教程图文详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Python实现自动化处理Word文档的方法详解

    Python实现自动化处理Word文档的方法详解

    本文主要介绍了如何使用Python实现Word文档的自动化处理,包括批量生成Word文档、在Word文档中批量进行查找和替换、将Word文档批量转换成PDF等,希望对你有所帮助
    2022-08-08
  • Python中 map()函数的用法详解

    Python中 map()函数的用法详解

    map( )函数在算法题目里面经常出现,map( )会根据提供的函数对指定序列做映射,在写返回值等需要转换的时候比较常用。这篇文章主要介绍了Python中 map()的用法,需要的朋友可以参考下
    2018-07-07
  • Python 日期的转换及计算的具体使用详解

    Python 日期的转换及计算的具体使用详解

    这篇文章主要介绍了Python 日期的转换及计算的具体使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 原理解析为什么pydantic可变对象没有随着修改而变化

    原理解析为什么pydantic可变对象没有随着修改而变化

    这篇文章主要介绍了为什么pydantic可变对象没有随着修改而变化的原因解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Python实现视频剪辑的示例详解

    Python实现视频剪辑的示例详解

    这篇文章主要为大家详细介绍了如何Python实现视频剪辑的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • Python中threading库实现线程锁与释放锁

    Python中threading库实现线程锁与释放锁

    threading用于提供线程相关的操作,为了保证安全的访问一个资源对象,我们需要创建锁。那么Python线程锁与释放锁如何实现,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 使用Selenium破解新浪微博的四宫格验证码

    使用Selenium破解新浪微博的四宫格验证码

    今天小编就为大家分享一篇关于使用Selenium破解新浪微博的四宫格验证码的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Python openpyxl 插入折线图实例

    Python openpyxl 插入折线图实例

    这篇文章主要介绍了Python openpyxl 插入折线图实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python 面试中 8 个必考问题

    Python 面试中 8 个必考问题

    这篇文章主要介绍了Python 面试中 8 个必考问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11

最新评论