用gridspec匹配子图的大小

时间:2019-06-12 13:16:05

标签: python matplotlib plot subplot

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

为此,我使用matplotlib.gridspec定义了一个网格,然后在其顶部添加了图形。但是,图像上方的划线图要比图像本身宽得多,我希望它们具有相同的大小,最好将其缩小一点。

fig = plt.figure(constrained_layout=True)
gs = GridSpec(4, 4, figure=fig)
ax1 = fig.add_subplot(gs[1:4,0:3])
ax2 = fig.add_subplot(gs[0,0:3])
ax3 = fig.add_subplot(gs[1:4,3])

ax1.imshow(Z, cmap=cm.jet, origin='lower', extent=(x.min(), x.max(), y.min(), y.max()))
ax1.plot(Ly,y[:,0],color=[0.8, 0, 0],linewidth=2)
ax1.plot(x[0,:],Lx,color=[0, 0.8, 0],linewidth=2)
ax1.axis([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, step=0.5))
ax2.axis([x.min(), x.max(), 0, 1])
ax2.grid()

ax3.plot(yFit,y[:,0],color=[0.8, 0, 0],linewidth=2)
plt.xticks(np.arange(0, 1, step=0.5))
ax3.xaxis.tick_top()
ax3.axis([0, 1, y.min(), y.max()])
ax3.grid()

plt.show()

当前,这是我得到的输出:

enter image description here

任何帮助或建议都将不胜感激。

0 个答案:

没有答案