То, что вы ищете, это suptitle , который помещает центрированный заголовок вверху рисунка.
Использование plt.title
(применимо к текущей оси, в вашем случае ax2
)
import matplotlib.pyplot as plt
fig=plt.figure(1)
(ax1,ax2) = fig.subplots(2,1, gridspec_kw={'height_ratios':[1,15]})
plt.title('Title')

Использование plt.suptitle
import matplotlib.pyplot as plt
fig=plt.figure(1)
(ax1,ax2) = fig.subplots(2,1, gridspec_kw={'height_ratios':[1,15]})
plt.suptitle('Title')

По предложению @ ImportanceOfBeingErnest , вы также можете использовать ax1.set_title('Title')
, чтобы поместить заголовок сверху, потому что ax1
соответствует верхней под цифре в вашем случае.