Python 如何将matplotlib图形组合成多个子图?

Python 如何将matplotlib图形组合成多个子图?,python,matplotlib,subplot,Python,Matplotlib,Subplot,使用matplotib我有几个Figure对象从不同的绘图函数返回。为每个图形生成特定格式的图形非常昂贵,[图1、图2、图3、图4] 我需要安排在不同的布局这些。例如,包含图1、图3、图4的列;包含所有数字的行;所有图形的2x2网格,以此类推。我查看了pyplot.subplot,但它返回一个无法设置的轴数组 如何将这些单独的地物对象组合成多个子地块 我的实际案例中有20多个昂贵的数字,需要在几个不同的布局中进行排列,因此我真的无法为每个布局组合重新绘制这些数字。你是说: 我不明白你说的“无法设

使用
matplotib
我有几个
Figure
对象从不同的绘图函数返回。为每个图形生成特定格式的图形非常昂贵,
[图1、图2、图3、图4]

我需要安排在不同的布局这些。例如,包含图1、图3、图4的列;包含所有数字的行;所有图形的2x2网格,以此类推。我查看了
pyplot.subplot
,但它返回一个无法设置的轴数组

如何将这些单独的地物对象组合成多个子地块


我的实际案例中有20多个昂贵的数字,需要在几个不同的布局中进行排列,因此我真的无法为每个布局组合重新绘制这些数字。

你是说:


我不明白你说的“无法设置轴”是什么意思?轴阵列可用于在相应的子批次中绘图,并设置与该特定子批次相关的所有内容,例如
ax[0]。绘图(x,y)
@sai
子地块
函数返回
图形
对象和指向图形中
对象的指针数组。我需要一些东西将新子地块图形中的轴对象设置为单个图形中的轴对象。感谢您的解释!我想我明白了,所以为什么不在绘制任何单个图形之前创建轴,然后使用之前创建的轴对象在子图中只绘制一次图形(如果我太天真,请原谅)@sai我需要在多个布局中使用这些图,而且它们的绘制成本很高。所以我只想绘制一次,然后在多个子地块布局中使用它们。如果我在每个子地块的轴上绘图,那么我必须重新绘制每个子地块布局的绘图。我不想这样做。为什么不把你们的无花果保存到png,然后在后者中显示呢。
import matplotlib.pyplot as plt
fig, axs = plt.subplots(ncols=3, nrows=3)
gs = axs[1, 2].get_gridspec()
# remove the underlying axes
for ax in axs[1:, -1]:
   ax.remove()
axbig = fig.add_subplot(gs[1:, -1])
axbig.annotate('Big Axes \nGridSpec[1:, -1]', (0.1, 0.5),
           xycoords='axes fraction', va='center')
fig.tight_layout()
plt.show()