我想在 pyplot 中绘制一个图形,它有 3 个垂直排列的子图。第一个的纵横比为 1:1,而另外两个的纵横比为 2:1。每个地块的高度应该相同。这意味着第一个图的左右边界距离画布的边界相当远。有人可以帮我解决这个问题吗?我尝试过使用 hspace 命令,但这最终会改变所有子图的间距,而不仅仅是第一个子图。
我还通过在子图中创建子图来尝试以下操作,但 wspace 似乎在图中没有任何区别:
fig = plt.figure(figsize=(3.385, 2*3))
outer = gridspec.GridSpec(2, 1, wspace=2.0, hspace=0.1, height_ratios=[1,3])
inner1 = gridspec.GridSpecFromSubplotSpec(1, 1,
subplot_spec=outer[0], wspace=0.1, hspace=0.1)
inner2= gridspec.GridSpecFromSubplotSpec(2, 1,
subplot_spec=outer[1], wspace=0.1, hspace=0.1)
ax1 = plt.Subplot(fig, inner1[0])
(ax2,ax3)= plt.Subplot(fig, inner2[0]), plt.Subplot(fig, inner2[1])
fig.add_subplot(ax1); fig.add_subplot(ax2); fig.add_subplot(ax3)
ax1.plot(x1, y1, "-", color="k" )
ax2.plot(x2, y2, "-")
ax3.plot(x3,y3, "--)
plt.show()
有人可以帮我解决这个问题吗?