はじめに
matplotlibではよく一つの図の中に複数のグラフを描きます。そうすると全体に共通してタイトルを付けたくなるのですが、普通にやろうとしても個別のAxesに対して呼んでしまいがちです。
図全体に対してタイトルを付けるには、suptitleを使います。
使い方
以下のように使います。
import numpy as np import matplotlib.pyplot as plt # データ生成 x = np.arange(0, 10, 0.1) y1 = x ** 2 y2 = np.sin(x) # figure, axesの生成 fig, axes = plt.subplots(nrows=1, ncols=2) # 個別のAxesに対するプロットとタイトル付け axes[0].plot(x, y1) axes[0].set_title("y = x^2") axes[1].plot(x, y2) axes[1].set_title("y = sin(x)") # figure全体のタイトル fig.suptitle("graphs") # 保存 plt.savefig("result.png")
結果の図を見ればわかる通り、図の上に大きなタイトルが付いています。このように全体にタイトルを付けることができます。なお、今回はfigureのメソッドとして呼んでいますが、例のごとくpltからplt.suptitleという形でも呼べます。
今回は行数が少ないので大丈夫でしたが、たまにタイトル同士で被ったりしてグラフが不格好になることもあります。そういうときは適宜余白を調整してください。