GridSpec是Matplotlib库中用于定义子图布局的类。它允许用户以灵活的方式定义子图的行数、列数和位置,从而创建复杂的子图布局。
使用GridSpec()方法创建:
1.导库:
%matplotlib auto
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
2.创建画布:
fig2 = plt.figure()
3.创建“区域规划图”实例
spec2 = gridspec.GridSpec(ncols=2, nrows=2, figure=fig2)
4.建立对应坐标系
f2_ax1 = fig2.add_subplot(spec2[0,0]) # 二维数组的切片操作
f2_ax2 = fig2.add_subplot(spec2[0,1])
f2_ax3 = fig2.add_subplot(spec2[1,0])
f2_ax4 = fig2.add_subplot(spec2[1,1])
5.展示图列
plt.show()
结果如下:
调整子图的范围及设置坐标系高度和宽度
只需要在原来的代码上在第三步添加参数控制,添加如下:
spec2 = gridspec.GridSpec(ncols=2, nrows=2, figure=fig2,
left=0.25,right=0.9,top=0.9,bottom=0.25, #调整子图范围
idth_ratios=[3,1], height_ratios=[3,1]) #设置坐标系的相对宽度和相对高度
运行如下:
设置坐标系实例之间纵向和横向间距
通过wspace和hspace的代码来实现,在第三步直接添加
spec2 = gridspec.GridSpec(ncols=2, nrows=2, figure=fig2,
left=0.25,right=0.9,top=0.9,bottom=0.25, #调整子图
width_ratios=[3,1], height_ratios=[3,1], #设置坐标系的相对宽度和相对高度
wspace=2,hspace=1) #设置坐标系实例之间纵向和横向间距
运行如下