【Python】suptitleでグラフ全体と個別のグラフに別々にタイトルを与える
matplotlibで1つのfigureに複数のグラフを配置する時に、個別のグラフのタイトルだけでなく全体のタイトルをつけることができたら便利だなと思ったのでやり方をメモしておきます。
タイトルの付け方
全体のタイトルを設定するにはplt.suptitle('タイトル')
を使います。
import numpy as np import matplotlib.pyplot as plt fig, axes = plt.subplots(1, 2, figsize=(10, 5)) x = np.linspace(0, 2 * np.pi, 100) ax0 = axes[0] ax0.plot(x, np.sin(x)) ax0.set_title('sin') ax1 = axes[1] ax1.plot(x, np.cos(x)) ax1.set_title('cos') # 全体のタイトル plt.suptitle('sine and cosine') plt.show()
タイトル位置の調整
グラフによっては、suptitleで設定した全体のタイトルがグラフのタイトルと重なってしまう場合があります。
そういう時はsuptitleの引数yによって調整します。
例えばタイトルの高さを1.05としたいときは
plt.suptitle('タイトル', y=1.05)
yの値はデフォルトで0.98らしいです。
y=1でグラフ全体の高さ?