前言
现在我们越来越多的使用 Python 来处理工作中涉及到的数据,但是表格里的数据是不够直观的,图形化的展示更直观,更直接,能够让我们更快速的了解的数据变化的趋势,那么,Python 能不能像 Excel 那样通过操作,绘制各种图表呢,答案是肯定的,Python 拥有一个强大的第三方库——Matplotlib。
Matplotlib 介绍
Matplotlib 是 Python 的绘图库, 也是一个非常强大的 Python 画图工具,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
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 的初级使用介绍就到这里了,后面我们会介绍更高级的用法,绘制更复杂的图形,敬请期待哈!
评论