如何使用 matplotlib 在子图中设置标题?

How to set a title inside subplots using matplotlib?

我正在使用以下方法创建一个带有子图的图形:

fig, axs = plt.subplots(5, sharex=True, sharey=True, gridspec_kw={'hspace': 0})

然后我想为每个子图添加一个标题,但标题 子图中。我尝试使用

for i in range(0,5):
    axs[i].set_title('title = ' + str(i), pad = -15)

但是由于我还不明白的原因,这种方法在上面的子图中再次创建了最后一个标题。 我也尝试附加一个额外的子图,但找不到一个方便的方法来再次摆脱它。

我不知道为什么使用 pad 会出现这种情况。但是,解决方法可能是使用参数 y= 指定标题文本的位置,同时更改文本的垂直对齐方式:

fig, axs = plt.subplots(5, sharex=True, sharey=True, gridspec_kw={'hspace': 0})

for i in range(0,5):
    axs[i].set_title('title = ' + str(i), y=0.8, va="top")