写点什么

软件测试|Python 绘图神器——Matplotlib 使用教程(一)

  • 2023-06-09
    北京
  • 本文字数:2057 字

    阅读完需:约 7 分钟

获取更多技术知识


前言

现在我们越来越多的使用 Python 来处理工作中涉及到的数据,但是表格里的数据是不够直观的,图形化的展示更直观,更直接,能够让我们更快速的了解的数据变化的趋势,那么,Python 能不能像 Excel 那样通过操作,绘制各种图表呢,答案是肯定的,Python 拥有一个强大的第三方库——Matplotlib。

Matplotlib 介绍

Matplotlib 是 Python 的绘图库, 也是一个非常强大的 Python 画图工具,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。


  • 可以用来绘制各种静态,动态,交互式的图表

  • 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等


Matplotlib 通常与 NumPy 和 SciPy(Scientific Python)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。

Matplotlib 安装

和 Python 的各种神级第三方库一样,安装也是只需要一条命令,如下所示:


pip install matplotlib
-------------------------------Collecting matplotlib Downloading matplotlib-3.5.3-cp37-cp37m-win_amd64.whl (7.2 MB) |████████████████████████████████| 7.2 MB 36 kB/sCollecting packaging>=20.0 Downloading packaging-23.0-py3-none-any.whl (42 kB) |████████████████████████████████| 42 kB 22 kB/sCollecting fonttools>=4.22.0 Downloading fonttools-4.38.0-py3-none-any.whl (965 kB) |████████████████████████████████| 965 kB 30 kB/sCollecting numpy>=1.17 Using cached numpy-1.21.6-cp37-cp37m-win_amd64.whl (14.0 MB)Collecting python-dateutil>=2.7 Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)Collecting pillow>=6.2.0 Downloading Pillow-9.4.0-cp37-cp37m-win_amd64.whl (2.5 MB) |████████████████████████████████| 2.5 MB 35 kB/sCollecting pyparsing>=2.2.1 Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)Collecting cycler>=0.10 Using cached cycler-0.11.0-py3-none-any.whl (6.4 kB)Collecting kiwisolver>=1.0.1 Downloading kiwisolver-1.4.4-cp37-cp37m-win_amd64.whl (54 kB) |████████████████████████████████| 54 kB 73 kB/sRequirement already satisfied: typing-extensions in c:\users\89703\pycharmprojects\flask_demo\venv\lib\site-packages (from kiwisolver>=1.0.1->matplotlib) (4.4.0)Collecting six>=1.5 Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)Installing collected packages: six, python-dateutil, pyparsing, pillow, packaging, numpy, kiwisolver, fonttools, cycler, matplotlibSuccessfully installed cycler-0.11.0 fonttools-4.38.0 kiwisolver-1.4.4 matplotlib-3.5.3 numpy-1.21.6 packaging-23.0 pillow-9.4.0 pyparsing-3.0.9 python-dateutil-2.8.2 six-1.16.0
复制代码


安装过程中,依赖的其他第三方库也会同步安装。

Matplotlib Pyplot 使用

我们最主要使用的是 Matplotlib 的 Pyplot 模块,这个模块提供了类似 MATLAB 的绘图功能的 API。Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。闲话少说,先来绘制一个简单的图形,代码如下:


import matplotlib.pyplot as pltimport numpy as np
xpoints = np.array([0, 2, 10])ypoints = np.array([0, 4, 20])
plt.plot(xpoints, ypoints)plt.show()
复制代码


图像如下所示:



如果只需要画点,可以加上参数 o,表示绘出实心点代码如下所示:


import matplotlib.pyplot as pltimport numpy as np
xpoints = np.array([0, 1, 10])ypoints = np.array([0, 2, 20])
plt.plot(xpoints, ypoints, 'o')plt.show()
复制代码



同样也可以绘制折线,如下所示:


import matplotlib.pyplot as pltimport numpy as np
xpoints = np.array([1, 2, 6, 8])ypoints = np.array([1, 8, 1, 12])
plt.plot(xpoints, ypoints)plt.show()
复制代码


图像如下图所示:



如果我们不指定 x 轴上的点,则 x 会根据 y 的值来设置为 0, 1, 2, 3..N-1。


import matplotlib.pyplot as pltimport numpy as np

ypoints = np.array([1, 8, 1, 12])
plt.plot(ypoints)plt.show()
复制代码


如下图所示:



从上图可以看出 x 的值默认设置为 [0, 3]。


绘制正弦函数和余弦函数图像,代码如下:


import matplotlib.pyplot as pltimport numpy as np
x = np.arange(0,2*np.pi,0.1) # start,stop,stepy = np.sin(x)z = np.cos(x)plt.plot(x,y,x,z)plt.show()
复制代码


总结

针对 matplotlib 的初级使用介绍就到这里了,后面我们会介绍更高级的用法,绘制更复杂的图形,敬请期待哈!


搜索微信公众号: 霍格沃兹测试学院,学习更多测试开发前沿技术

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|Python绘图神器——Matplotlib使用教程(一)_霍格沃兹测试开发学社_InfoQ写作社区