Самый простой способ - использовать функцию text()
. Вы можете либо связать его с рисунком:
f.text(x=0.5, y=0.94, 'title', ha='center')
Вы можете использовать следующие простые аргументы:
rotation='vertical'
fontsize=10
Вы также можете связать заголовок с субплотом и использовать X, Y этого субплота для его позиционирования:
ax[0].text(0, 1.02, "title above the first subplot", fontsize=10, transform=ax[0].transAxes)
И, наконец, вам может понадобиться переопределить размер области построения. Это можно сделать с помощью:
for a in f.axes:
# Shrink the axes
box = a.get_position()
a.set_position([box.x0, box.y0, box.width * 0.9, box.height * 0.95])