更新时间:2022-04-06 来源:黑马程序员 浏览量:
使用pyplot的subplots()函数可以在规划好的所有区域中一次绘制多个子图。subplots()函数的语法格式如下:
该函数常用参数的含义如下:
subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
·nrows:表示规划区域的行数,默认为1。
·ncols:表示规划区域的行列数,默认为1。
·sharex,sharey:表示是否共享子图的x轴或y轴。
·squeeze:表示是否返回压缩的Axes对象数组,默认为True。当squeeze为True时,若nrows和ncols均为1,则subplots()函数会返回一个Axes对象;若nrows和ncols均大于1,则subplots()函数会返回一个Axes对象数组。当参数squeeze为False时,subplots()函数会返回一个包含Axes对象的二维数组。
·gridspec_kw:表示用于控制区域结构属性的字典。
subplots()函数会返回一个包含两个元素的元组,其中元组的第一个元素为Figure对象,第二个元素为Axes对象或Axes对象数组。
例如,将画布规划成2x2的矩阵区域,之后在第3个区域中绘制子图,代码如下。
import matplotlib.pyplot as plt # 将画布划分为2x2的等分区域 fig, ax_arr = plt.subplots(2, 2) # 获取ax_arr数组第1行第0列元素,也就是第3个区域 ax_thr = ax_arr[1, 0] ax_thr.plot([1, 2, 3, 4, 5]) plt.show()
运行程序,效果如图5-7所示。
图5-7 一次绘制的多个子图