前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python绘图模块之matplotlib

python绘图模块之matplotlib

作者头像
AsiaYe
发布于 2020-11-02 03:23:33
发布于 2020-11-02 03:23:33
1.4K00
代码可运行
举报
文章被收录于专栏:DBA随笔DBA随笔
运行总次数:0
代码可运行

//

python绘图模块之matplotlib

//

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

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

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

pip install matplotlib命令来进行安装。

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# /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画出来的几张磁盘性能的图,可以跟上面的图进行对比:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
matplotlib绘图基础[通俗易懂]
http://blog.csdn.net/pipisorry/article/details/37742423
全栈程序员站长
2022/09/01
6.5K0
matplotlib绘图基础[通俗易懂]
Python:matplotlib
原文链接:http://blog.csdn.net/ywjun0919/article/details/8692018 来源于书籍:《Python科学计算》 matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。 它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。 在L
昱良
2018/04/04
1.3K0
Python:matplotlib
Python数据分析之matplotlib(基础篇)
在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。其逻辑关系如下:
AI异构
2020/07/29
4420
Python数据分析之matplotlib(基础篇)
【python绘图】matplotlib基本使用(含实例)
matplotlib是python的绘图库,主要用来绘制二维平面图。上手容易、简单,在python数据分析中有非常重要的作用。 基本上有两种使用 Matplotlib 的方法: 一、依靠 pyplot 自动创建和管理图形和轴,并使用 pyplot 函数进行绘图。 二、显式创建图形和轴,并在它们上调用方法(即“面向对象 (OO) 样式”)。
Crayon鑫
2023/10/10
1.3K0
【python绘图】matplotlib基本使用(含实例)
python matplotlib各种绘图类型完整总结
plot([x], y, [fmt], [x2], y2, [fmt2], …, **kwargs)
Twcat_tree
2022/12/05
6K0
python matplotlib各种绘图类型完整总结
python数据可视化系列教程——matplotlib绘图全解
matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。
全栈程序员站长
2022/07/02
3.2K0
python数据可视化系列教程——matplotlib绘图全解
Matplotlib的详细使用及原理
Matplotlib是一个Python 2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态,动态,交互式的图表。
@小森
2024/03/15
2220
Matplotlib的详细使用及原理
Python可视化库Matplotlib绘图入门详解
Matplotlib是Python的绘图库,其中的pyplot包封装了很多画图的函数。
代码医生工作室
2019/10/03
2.8K0
Python数据分析实战(3)Python实现数据可视化
数据可视化是指将数据放在可视环境中、进一步理解数据的技术,可以通过它更加详细地了解隐藏在数据表面之下的模式、趋势和相关性。
cutercorley
2020/08/31
4.6K0
Python数据分析Matplotlib
1.2 使用matplotlib.pyplot中的annotate()函数标注文字
荣仔_最靓的仔
2021/02/02
3.6K0
Python数据分析Matplotlib
[机器学习实战札记] matplotlib绘图基础
在机器学习中,通常会涉及到大量的数据。如果直接观看这些原始数据,很难从中看出有用的信息。人类是非常视觉的生物,当我们看到可视化的东西时,会更好地理解事物。在python中,有一个强大的工具matplotlib来帮助我们,用图形化的方式来展现数据。在《机器学习实战》一书中,就多处使用了matplotlib来绘制图形,帮助我们理解数据和学习算法。
云水木石
2019/07/01
1.2K0
[机器学习实战札记] matplotlib绘图基础
数据可视化基础与应用-03-matplotlib库从入门到精通01-05
本系列是数据可视化基础与应用的第03篇,主要介绍基于matplotlib实现数据可视化。
用户2225445
2024/03/21
8800
数据可视化基础与应用-03-matplotlib库从入门到精通01-05
Matplotlib 中文用户指南 3.1 pyplot 教程
matplotlib.pyplot是一个命令风格函数的集合,使matplotlib的机制更像 MATLAB。 每个绘图函数对图形进行一些更改:例如,创建图形,在图形中创建绘图区域,在绘图区域绘制一些线条,使用标签装饰绘图等。在matplotlib.pyplot中,各种状态跨函数调用保存,以便跟踪诸如当前图形和绘图区域之类的东西,并且绘图函数始终指向当前轴域(请注意,这里和文档中的大多数位置中的『轴域』(axes)是指图形的一部分(两条坐标轴围成的区域),而不是指代多于一个轴的严格数学术语)。
ApacheCN_飞龙
2022/12/01
1.7K0
Matplotlib 中文用户指南 3.1 pyplot 教程
matplotlib基础手册:pyplot手册
matplotlib.pyplot 是一个函数集合,使 matplotlib 能够像 MATLAB 一样进行绘图。每一个 pyplot 函数都会改变 figure,比如创建figure,在figure中创建绘图区域,在绘图区域绘制线条,添加 labels 等。matplotlib.pyplot 的函数调用会记住当前的状态,从而更新 figure 和 绘图区域。而且 matplotlib.pyplot 是直接在当前 axes 进行绘图。
bugsuse
2020/04/21
2.7K0
matplotlib基础手册:pyplot手册
python绘图与数据可视化(二)
上一次是于老师要求我做一次备课,讲一节课,上周于老师又自己准备了这个课程,这里放一下于老师课上补充的知识点
十二惊惶
2024/02/28
3210
python绘图与数据可视化(二)
Matplotlib基础全攻略
Matplotlib是Python中最流行的绘图库,它模仿MATLAB中的绘图风格,提供了一整套与MATLAB相似的绘图API,通过API,我们可以轻松地绘制出高质量的图形。 中国银行股票数据下载: 链接:http://pan.baidu.com/s/1gfxRFbH 密码:d3id 1、开场例子 我们以中国银行股票收盘价曲线作为例子来作为开场。 首先我们通过pandas导入数据,并提取出收盘价一列: ChinaBank = pd.read_csv('data/ChinaBank.csv',index_co
石晓文
2018/04/11
1.9K0
Matplotlib基础全攻略
matplotlib
r表示不需要转义,raw(生的),LATEX用法,python中使用latex,需要在文本的后面加上$,\pi会转义为pi
h3110_w0r1d
2024/02/19
1870
matplotlib
干货|教你一文掌握:Matplotlib+Seaborn可视化
Seaborn和Matplotlib是Python最强大的两个可视化库。Seaborn其默认主题让人惊讶,而Matplotlib可以通过其多个分类为用户打造专属功能。
1480
2020/03/09
4.8K0
干货|教你一文掌握:Matplotlib+Seaborn可视化
【转载】matplotlib.pyplot的使用总结大全(入门加进阶)
其实一年前就有想法好好学学python里的画图库matplotlib库,主要是因为每次可视化一些结果的时候,都是搜一些别人写好的代码,看的时候感觉乱乱的,不是说别人写的乱,而是每个人在某些点上实现的方式不太一样,还有就是觉得,总用别人的,就觉得不是自己创造的,没有成就感。这段时间做了个比赛,可视化分析的时候,又在搜代码,想自己加点东西,感觉很费劲,又不知道该怎么加,所以决定好好学一下,并做好总结。
marsggbo
2021/08/12
2.2K0
可视化技能之Matplotlib(上)|可视化系列01
Matplotlib可以说是Python最声名远扬的可视化库了,也是Python数据分析库的“三驾马车”之一。Matplotlib是基础而非常强大的可视化库,Seaborn等好用的可视化库是在前者的基础上进行的封装。Matplotlib擅长快速出简单的图、有丰富的接口进行精细化绘图、和Numpy结合做科学可视化及三维图配合默契、三维图。但也有些缺点,如不容易基于实用目的绘制有一定难度的图表(如小提琴图等)、标签等元素需指定坐标而不能自适应优化显示、难以实现交互。
蛰虫始航
2020/04/09
1.7K0
相关推荐
matplotlib绘图基础[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验