如何使用子图将更长的图绘制在顶部?

3
这是一个简单的问题,基于之前提出的子图问题:Matplotlib different size subplots 但是我该如何将较大的图放在顶部?我知道在plt.subplots()中使用nrows和ncolumns,但我无法将较大的图放在顶部,而将3个较小的图放在下面。
plt.figure(figsize=(12, 6))

ax1 = plt.subplot(2,1,2)
ax2 = plt.subplot(2,3,1)
ax3 = plt.subplot(2,3,2)
ax4 = plt.subplot(2,3,3)

axes = [ax1, ax2, ax3, ax4]

enter image description here

希望能把下面的图排在前三名之上。 谢谢!
1个回答

2
您需要指定一个2行3列的图表布局,并使第一个图占据所有三列。
请参见subplot:
引用:
索引也可以是一个二元组,指定子图的(第一个,最后一个)索引(从1开始,并包括最后一个),例如,fig.add_subplot(3, 1, (1, 2))创建一个跨越图的上2/3的子图。
plt.figure(figsize=(12, 6))

ax1 = plt.subplot(2,3,(1,3))
ax2 = plt.subplot(2,3,4)
ax3 = plt.subplot(2,3,5)
ax4 = plt.subplot(2,3,6)

enter image description here


非常感谢!有没有办法仅更改顶部图形的figsize?或者在子图中更改单个图形的figsize? - wabash
1
你可能是指坐标轴的大小(figsize 是包含 4 个坐标轴的完整图形的大小)。你可以更改水平和垂直间距以及边距,但对于复杂的布局,您可能需要嵌套 gridspecs。也许最好提出一个单独的问题,并附上结果应该如何看起来的草图。 - Stef

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接