首页 > 编程笔记 > Python笔记 阅读:7

Matplotlib subplots()函数的用法(附带实例)

Matplotlib 中,使用 pyplot 模块中的 subplots() 函数,可以创建带有一个坐标系的图形。也就是说,使用该函数可以同时创建图形和坐标系,而无须分步创建它们。

subplots() 函数返回一个元组,其中包含两个元素,分别代表创建的图形和坐标系。为了便于后续代码处理刚创建的图形和坐标系,通常将 subplots() 函数的返回值赋值给 fig 和 ax 两个变量,fig 代表图形(Figure 对象),ax 代表坐标系(Axes 对象)。虽然可以为变量设置任何名称,但是 fig 和 ax 是命名惯例。

下面的代码将创建带有一个坐标系的图形:
import matplotlib.pyplot as plt
fig,ax = plt.subplots()
plt.show()
创建的图形为:


图 1 带有一个坐标系的图形

坐标系中的 x 轴和 y 轴的取值范围默认为 0~1。


如需在图形中创建多个坐标系,可以为 subplots() 函数指定前两个参数,它们表示要对图形进行划分的行数和列数,第一个参数表示行数,第二个参数表示列数。

下面的代码将整个图形划分为 2 行 3 列,相当于在该图形中创建 6 个坐标系:
import matplotlib.pyplot as plt
fig,axs = plt.subplots(2, 3)
plt.show()
由于创建的坐标系数量不止一个,所以将等号左侧的 ax 变量的名称改为复数形式 axs,此时 axs 变量的数据类型是 NumPy 中的 Ndarray 对象,而非 Matplotlib 中的 Axes 对象。

程序创建的图形为:


图 2 带有多个坐标系的图形

相关文章