Python 将子地块的大小与gridspec匹配

Python 将子地块的大小与gridspec匹配,python,matplotlib,plot,subplot,Python,Matplotlib,Plot,Subplot,我正在绘制用python编写的高斯拟合脚本的输出,并希望在单个图形中绘制输出,显示原始数据和长轴和短轴的线条图 为此,我使用了matplotlib.gridspec来定义一个网格,然后在其顶部添加绘图。但是,图像上方的线条图比图像本身宽得多,我希望它们的大小相同,最好是通过稍微缩小绘图 fig=plt.figure(受约束的布局=True) gs=GridSpec(4,4,figure=fig) ax1=图add_子批次(gs[1:4,0:3]) ax2=图add_子批次(gs[0,0:3])

我正在绘制用python编写的高斯拟合脚本的输出,并希望在单个图形中绘制输出,显示原始数据和长轴和短轴的线条图

为此,我使用了
matplotlib.gridspec
来定义一个网格,然后在其顶部添加绘图。但是,图像上方的线条图比图像本身宽得多,我希望它们的大小相同,最好是通过稍微缩小绘图

fig=plt.figure(受约束的布局=True)
gs=GridSpec(4,4,figure=fig)
ax1=图add_子批次(gs[1:4,0:3])
ax2=图add_子批次(gs[0,0:3])
ax3=图add_子批次(gs[1:4,3])
ax1.imshow(Z,cmap=cm.jet,origin='lower',extent=(x.min(),x.max(),y.min(),y.max())
ax1.绘图(Ly,y[:,0],颜色=[0.8,0,0],线宽=2)
ax1.绘图(x[0,:],Lx,颜色=[0,0.8,0],线宽=2)
ax1.轴([x.min(),x.max(),y.min(),y.max()]))
ax2.plot(x[0,:],xFit,color=[0,0.8,0],linewidth=2)
plt.xticks(np.arange(0,1,步长=0.5))
ax2.轴([x.min(),x.max(),0,1])
ax2.grid()
ax3.绘图(yFit,y[:,0],颜色=[0.8,0,0],线宽=2)
plt.xticks(np.arange(0,1,步长=0.5))
ax3.xaxis.tick_top()
ax3.轴([0,1,y.min(),y.max()]))
ax3.grid()
plt.show()
目前,这是我得到的输出:


非常感谢您的任何帮助或建议。

如果使用
受限的\u布局
,恐怕不可能。这是要求吗?除此之外,还有两个主要选项:(a)使用方形尺寸定义gridspec(这将需要根据地物大小设置左、右、上、下参数),(b)不使用gridspec,而是使用
axis_grid1
子模块,如图所示,..@ImportanceOfBeingErnest感谢,使用gridspec或
受约束的_布局
从来都不是我的要求。我已经根据
axis\u grid1
子模块重新编写了整个绘图,现在我得到的正是我想要的绘图。我担心如果使用
约束的\u布局
是不可能的。这是要求吗?除此之外,还有两个主要选项:(a)使用方形尺寸定义gridspec(这将需要根据地物大小设置左、右、上、下参数),(b)不使用gridspec,而是使用
axis_grid1
子模块,如图所示,..@ImportanceOfBeingErnest感谢,使用gridspec或
受约束的_布局
从来都不是我的要求。我已经根据
axis\u grid1
子模块重新编写了整个绘图,现在我得到的正是我想要的绘图。