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

举报
霍格沃兹测试开发 发表于 2023/02/15 16:11:01 2023/02/15
【摘要】 前言现在我们越来越多的使用Python来处理工作中涉及到的数据,但是表格里的数据是不够直观的,图形化的展示更直观,更直接,能够让我们更快速的了解的数据变化的趋势,那么,Python能不能像Excel那样通过操作,绘制各种图表呢,答案是肯定的,Python拥有一个强大的第三方库——Matplotlib。 Matplotlib介绍Matplotlib 是 Python 的绘图库, 也是一个非常...

前言

现在我们越来越多的使用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/s
Collecting packaging>=20.0
  Downloading packaging-23.0-py3-none-any.whl (42 kB)
     |████████████████████████████████| 42 kB 22 kB/s
Collecting fonttools>=4.22.0
  Downloading fonttools-4.38.0-py3-none-any.whl (965 kB)
     |████████████████████████████████| 965 kB 30 kB/s
Collecting 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/s
Collecting 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/s
Requirement 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, matplotlib
Successfully 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 plt
import 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 plt
import 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 plt
import 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 plt
import numpy as np


ypoints = np.array([1, 8, 1, 12])

plt.plot(ypoints)
plt.show()

如下图所示:

在这里插入图片描述

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

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

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0,2*np.pi,0.1)   # start,stop,step
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,x,z)
plt.show()

在这里插入图片描述

总结

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。