Matplotlibでタイトルとサブタイトルを設定する方法
Matplotlibを使ってグラフを作成する際、タイトルとサブタイトルの両方を表示することで、グラフの内容がよりわかりやすくなります。特に、データの概要や補足説明を含める場合に役立ちます。ここでは、タイトルとサブタイトルを表示するための様々な方法について説明します。
目次
-
plt.suptitle()
とplt.title()
を組み合わせる方法 -
plt.title()
で複数行のタイトルを作成する方法 -
fig.text()
を使用する方法 - タイトルとサブタイトルのスタイルを個別に設定する方法
1. plt.suptitle()
と plt.title()
を組み合わせる方法
plt.suptitle()
をメインタイトルとして使用し、plt.title()
をサブタイトルとして追加する方法です。この方法では、suptitle()
が上部にメインタイトルを表示し、title()
がその下にサブタイトルを表示します。
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4])
# メインタイトルとサブタイトルの設定
plt.suptitle("メインタイトル", fontsize=16, fontweight='bold')
plt.title("サブタイトル", fontsize=12)
plt.show()
ポイント:
-
plt.suptitle()
は、図全体のメインタイトルに使用します。 -
plt.title()
は、各サブプロットに個別のサブタイトルを追加できます【1】。
2. plt.title()
で複数行のタイトルを作成する方法
plt.title()
で改行コード \n
を使うことで、1つのタイトルに複数行のテキストを追加し、メインタイトルとサブタイトルを表現する方法です。
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4])
# 改行でメインタイトルとサブタイトルを一緒に設定
plt.title("メインタイトル\nサブタイトル", fontsize=14)
plt.show()
ポイント:
-
\n
を使うことで改行が可能で、シンプルにタイトルとサブタイトルを同時に設定できます。 - タイトルの行数が多い場合や、異なるスタイルを適用したい場合には不向きです【2】。
3. fig.text()
を使用する方法
fig.text()
を使うと、図内の任意の位置にテキストを配置できるため、サブタイトルの位置を柔軟に調整することが可能です。
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4])
# メインタイトルとサブタイトルの設定
fig.suptitle("メインタイトル", fontsize=16, fontweight='bold')
fig.text(0.5, 0.95, "サブタイトル", ha='center', va='center', fontsize=12)
plt.show()
ポイント:
-
fig.text()
を使うと、テキストの位置をx軸とy軸の座標で指定できます。 -
ha
(水平配置)とva
(垂直配置)で位置を調整し、タイトルやサブタイトルを柔軟に配置できます【3】。
4. タイトルとサブタイトルのスタイルを個別に設定する方法
plt.suptitle()
とplt.title()
のそれぞれに異なるスタイル(色、フォントサイズ、フォントスタイルなど)を適用する方法です。plt.tight_layout()
と組み合わせることで、レイアウトが重ならないように自動調整されます。
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4])
# メインタイトルとサブタイトルを個別に設定
plt.suptitle("メインタイトル", fontsize=16, fontweight='bold', y=1.05)
plt.title("サブタイトル", fontsize=12, color='gray', style='italic')
plt.tight_layout()
plt.show()
ポイント:
-
fontsize
やfontweight
、color
、style
を個別に設定し、異なるスタイルのタイトルとサブタイトルを表示できます。 -
y
パラメータを調整することで、メインタイトルの位置を上部に配置し、サブタイトルとの距離を取ることが可能です。
まとめ
Matplotlibでタイトルとサブタイトルを設定するには、様々な方法が用意されています。各方法を適切に組み合わせることで、見やすく情報が整理されたグラフを作成できます。
-
plt.suptitle()
とplt.title()
の組み合わせ: メインとサブの役割を明確にしたタイトル表示。 -
改行コード
\n
を使用した複数行タイトル: シンプルな二重タイトル。 -
fig.text()
で自由に配置: サブタイトルの位置を任意に指定可能。 - スタイルを個別に設定: タイトルとサブタイトルを異なるスタイルで表示し、グラフの視認性を向上。
これらの方法を活用して、タイトルとサブタイトルの配置やスタイルを調整し、グラフに適したデザインを実現しましょう。
参考文献
- PyGraph, Figure Title in Matplotlib. Retrieved from PyGraph
- Engineering for Data Science, Matplotlib Subtitles. Retrieved from Engineering for Data Science
- Stack Overflow, Giving Graphs a Subtitle in Matplotlib. Retrieved from Stack Overflow
グラフのタイトルとサブタイトルを適切に設定して、視覚的に効果的なデータ可視化を実現してください。