『Python数値計算ノート』ではアフィリエイトプログラムを利用して商品を紹介しています。

【Matplotlib】タイトルの設定

【Matplotlib】FigureとAxesにタイトルを添付する

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

Figure title

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

# PYTHON_MATPLOTLIB_FIGURE_TITLE

# In[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 の左下隅にタイトルが表示されます。

# In[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 で添付位置を調整してください。

# In[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 で文字の色を設定できます。

# In[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 title

matplotlib.axes.Axes.set_title() は Axes(サブプロット)のタイトルを設定するメソッドです。

# MATPLOTLIB_AXES_TITLE

# In[1]

import matplotlib.pyplot as plt

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

# Axesタイトルを添付
ax.set_title("Title", color="black")

fig.savefig('matplotlib_axes_title')

Matplotlib Axesにタイトル(表題)を添付
複数の Axes に別々のタイトルを添付できますが、軸や目盛と重ならないように予め余白を調整しておく必要があります。

# In[2]

# 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_EXAMPLE

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()メソッドによるタイトル設定
 
関連記事:【Matplotlib】凡例の表示
 

コメント

  1. HNaito より:

    前の記事の seaborn のパステル調スタイルの右側のプロット図が、他のスタイルで使われたプロットと異なっています。

    • あとりえこばと より:

      本当だ…正しい図に差し替えておきました。
      助かりました。ありがとうございます。m(_ _)m