关于GridSpec的相关语法
GridSpec(nrows, ncols, figure=none,
left=none, bottom=none, right=none,
top=none, wspace=none, hspace= none,
width_rations=none, height_rations=none)
常用参数的含义
nrows:行数
ncols:列数
figure:表示布局的画布
hspace坐标系实例之间纵向间距
wspace坐标系实例之间横向间距
wspace,hspaec表示子图之间预留的宽度量,高度量
width_rations表示直接设置坐标系相对宽度,相对宽度=设定值/sum
height_rations表示直接设置坐标系相对高度,相对高度=设定值/sum
eft,bootom,right,top表示子图范围,把所有坐标实例打包在一起,整体伸缩/平移
1.导入模块
%matplotlib notebook
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
2.创建画布实例
fig1 = plt.figure()
3.创建“区域规划图”实例(GridSpec实例)
spec1 = gridspec.GridSpec(nrows=2, ncols=2, figure=fig1)
4.根据给定的“区域规划图”,创建对应的坐标系实例
#二维数组的索引操作
ax1 = fig1.add_subplot(spec1[0,0])
ax2 = fig1.add_subplot(spec1[0,1])
ax3 = fig1.add_subplot(spec1[1,0])
ax4 = fig1.add_subplot(spec1[1,1])
展示图像
plt.show()
效果图
如果对上述代码中的第3点进行修改,添加hspace与wspace参数,如下
spec1 = gridspec.GridSpec(nrows=2, ncols=2, figure=fig1,hspace=1, wspace=1)
其中 , hspace=1表示设置坐标系实例之间纵向间距为1,
wspace=1表示设置坐标系实例之间横向间距为1
效果图如下
如果设置一个三行三列的自定义布局只需修改
3.创建“区域规划图”实例(GridSpec实例)
4.根据给定的“区域规划图”,创建对应的坐标系实例
里面的代码就可以了,修改如下
spec = gridspec.GridSpec(nrows=3, ncols=3, figure=fig, hspace=0.5, wspace=0.5)
ax1 = fig.add_subplot(spec[0,:])
ax2 = fig.add_subplot(spec[1,:-1])
ax3 = fig.add_subplot(spec[1:,-1])
ax4 = fig.add_subplot(spec[-1,0])
ax4 = fig.add_subplot(spec[-1,-2])
效果图