使用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轴。
True或'all':表示所有子图之间共享x轴或y轴。
False 或'none':表示所有子图之间不共享。
1row':表示每一行的子图之间共享x轴或y轴。
‘col':表示每一列的子图之间共享x轴或y轴。
代码如下:
# matplotlib中文网 https://www.matplotlib.org
# 需求一:利用自定义布局的GridSpec实例,在画布上创建如图所示的坐标系实例(见运行结果展示图)
%matplotlib notebook
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
#1.创建画布实例ii
fig2 = plt.figure()
#2.创建“区域规划图”实例
spec2 = gridspec.GridSpec(3,4,figure=fig2)
f2_ax5 = fig2.add_subplot(spec2[2,1:])
f2_ax1 = fig2.add_subplot(spec2[0,:],sharey=f2_ax5)
f2_ax2 = fig2.add_subplot(spec2[1,:2],sharey=f2_ax5)
f2_ax3 = fig2.add_subplot(spec2[1,2:],sharey=f2_ax5)
f2_ax4 = fig2.add_subplot(spec2[2,0:1],polar=True)
#3.根据给定的“区域规划图”,创建对应的坐标系实例
plt.tight_layout(pad=0.4, w_pad=0.1, h_pad=0.5)
plt.yticks([0.00, 0.25, 0.50, 0.75, 1.00])
plt.show()
运行结果: