[Matplotlib] タイトルの設定

[Matplotlib] タイトルの設定

タイトル (表題) の設定

 Figure.suptitle() メソッドFigureタイトルAxes.set_title() メソッドAxesタイトル を設定できます。オプション引数でタイトル文字の色や大きさなどを指定することもできます。

Figureタイトル

 matplotlib.figure.Figure.suptitle() は Figureタイトルを設定するメソッドです。最初にデフォルト設定でタイトルを添付してみます。

# PYTHON_MATPLOTLIB_Title_01-1

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(4, 4))
ax = fig.add_subplot(111)

fig.suptitle("Title_F")

 Figure.suptitle 01 デフォルトでタイトルを添える

 このように、デフォルト設定では Figure 上部のセンターの位置 (x=0.5, y=0.98) にタイトルが表示されます。位置引数を x=0, y=0 に設定すると、Figure の左下隅にタイトルが表示されます。

# PYTHON_MATPLOTLIB_Title_01-2

fig = plt.figure(figsize=(4, 4))
ax = fig.add_subplot(111)

# (x,y)=(0,0)にタイトルを添付
fig.suptitle("Title_F", x=0, y=0)

 Figure.suptitle 02 左下隅にタイトルを表示

 たとえば、Figure上部の左寄りにタイトルを付けたい場合などには、x と y で添付位置を調整してください。

# PYTHON_MATPLOTLIB_Title_01-3

fig = plt.figure(figsize=(4, 4))
ax = fig.add_subplot(111)

# タイトルの位置を調整
fig.suptitle("Title_F", x=0.2, y=0.96)

 Figure.suptitle 03 上部左寄りの位置にタイトルを添付

 size で文字サイズ、weight で文字の太さ、color で文字の色を設定できます。

# PYTHON_MATPLOTLIB_Title_01-4

fig = plt.figure(figsize=(4, 4))
ax = fig.add_subplot(111)

# タイトルのフォントサイズ、太さ、色を設定
fig.suptitle("Title_F", size=18, weight=2, color="red")

 Figure.suptitle 04 タイトルの大きさ、太さ、色

Axesタイトル

 matplotlib.axes.Axes.set_title() は Axes (サブプロット) のタイトルを設定するメソッドです。複数の Axes に別々のタイトルを添付できますが、軸や目盛と重ならないように予め余白を調整しておく必要があります。

# PYTHON_MATPLOTLIB_Title_02

# Matplotlibをインポート
import matplotlib.pyplot as plt

# FigureとAxes
fig = plt.figure(figsize =(4, 4))
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)

# Axes(サブプロット)の余白調整
fig.subplots_adjust(top = 0.8, hspace = 0.8)

# Figureタイトルを添付
fig.suptitle("Title_F", size=15)

# Axesタイトルを添付
ax1.set_title("Title_A1", color="blue")
ax2.set_title("Title_A2", color="blue")

 matplotlib.axes.Axes.set_title

タイトル添付の実践例

 以下のコードは三角関数のグラフを 2 枚縦並びにして、FigureタイトルとAxesタイトルを添付します。

# PYTHON_MATPLOTLIB_TITLE_03

# 必要なモジュールをインポート
import numpy as np
import matplotlib.pyplot as plt

# Figureを設定
fig = plt.figure()

# Figureのタイトルを設定
fig.suptitle("Trigonometric Functions", fontsize=14)

# Axesを追加
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)

# Axesのタイトルの設定
ax1.set_title("f(x) = cosx", size=12, color="red")
ax2.set_title("g(x) = sinx", size=12, color="red")

# Axes(サブプロット)間の余白調整
fig.subplots_adjust(top=0.8, hspace=0.8)

# xのデータを作成
x = np.arange(-4, 4, 0.1)

# yのデータを作成
f = np.cos(x)
g = np.sin(x)

# 軸ラベルの設定
ax1.set_xlabel("x", size = 12)
ax1.set_ylabel("y", size = 12)
ax2.set_xlabel("x", size = 12)
ax2.set_ylabel("y", size = 12)

# データをプロット
ax1.plot(x, f, color="blue")
ax2.plot(x, g, color="blue")

 Matplotlib Figure.suptitle()メソッドによるタイトル設定