matplotlib ライブラリ

【matplotlib】タイトル(title)を表示する方法【位置、サイズ、フォント、日本語】

pythonの描画ライブラリである「matplotlib」において、タイトルを表示する方法や、タイトルに関するさまざまな設定方法を紹介します。

本記事では、以下の内容を紹介します。

この記事で分かること

  • タイトルを表示する方法
  • タイトルの位置を調整する方法
  • タイトルのサイズを変更する方法
  • タイトルのフォントを変更する方法
  • タイトルを日本語で表示する方法

はじめに、グラフにタイトルを表示する基本的な方法を紹介します。

そのあとで、タイトルに関するさまざまな設定方法を紹介します。

スポンサーリンク

matplotlibでタイトルを表示する方法

はじめに、グラフにタイトルを表示する基本的な方法を紹介します。

matplotlibには、簡易的にグラフを作成できる【pyplot.~~~】と、グラフに関する細かい設定が可能な【ax.~~~】の、2通りのグラフ描画方法があります。

それぞれのグラフ描画方法で、タイトルを表示するための関数が微妙に異なります(ほとんど同じですが)。

【 pyplot.~~~ 】

plt.title('文字列') で、タイトルを表示できます。

以下、【 plt.~~~ 】でタイトルを表示するサンプルコードです。

### タイトルの表示方法
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, np.pi * 4, 100)
y = np.sin(x)

plt.plot(x, y)

plt.title('Title')

plt.show()

【 ax.~~~ 】

オブジェクト指向で、グラフを作成する方法です。

ax.set_title('文字列') で、タイトルを表示できます。

以下、【 ax.~~~ 】でタイトルを表示するサンプルコードです。

### タイトルの表示方法
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, np.pi * 4, 100)
y = np.sin(x)

fig, ax = plt.subplots()

ax.plot(x, y)

ax.set_title('Title')

plt.show()

コード実行後表示されるグラフは、【 plt.~~~ 】【 ax.~~~ 】も同じになります。

実行結果

matplotlibの2通りのグラフ描画方法の違いについては、下記の記事で紹介しています。

matplotlibのpyplotとaxの違い

matplotlibの2つのグラフ描画方法での、タイトルの表示方法をざっくり紹介しました。

オブジェクト指向でのグラフ描画方法【 ax.~~~ 】を覚えておいた方が応用がきくので、以降の例では、【 ax.~~~ 】を用いてグラフを作成していきます。

スポンサーリンク

matplotlibでタイトルの位置を調整する方法

タイトルの位置を変更する方法を紹介します。

ax.set_title( ) の引数として、 loc= を指定することで、タイトルの位置を変更できます。

以下、サンプルコードです。

### タイトルの位置を調整
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, np.pi * 4, 100)
y = np.sin(x)

fig, ax = plt.subplots()

ax.plot(x, y)

ax.set_title('Title_left', loc='left')
ax.set_title('Title_center', loc='center')
ax.set_title('Title_right', loc='right')


plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> ax.set_title('Title_left', loc='left')
> ax.set_title('Title_center', loc='center')
> ax.set_title('Title_right', loc='right')

引数に loc= を指定し、タイトルの位置を変更しています。
loc= には、'left'、'center'、'right'を指定できます。

matplotlibでタイトルのサイズを変更する方法

タイトルのサイズを変更する方法を紹介します。

ax.set_title( ) の引数として、 fontsize= を指定することで、タイトルのサイズを変更できます。

以下、サンプルコードです。

### タイトルのサイズを変更
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, np.pi * 4, 100)
y = np.sin(x)

fig, ax = plt.subplots()

ax.plot(x, y)

ax.set_title('Title', fontsize=30)

plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

スポンサーリンク

matplotlibでタイトルのフォントを変更する方法

タイトルのフォントを変更する方法を紹介します。

ax.set_title( ) の引数として、 fontname= を指定することで、タイトルのフォントを変更できます。

以下、サンプルコードです。

### タイトルのフォントを変更
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, np.pi * 4, 100)
y = np.sin(x)

fig, ax = plt.subplots()

ax.plot(x, y)

ax.set_title('Title', fontsize=30, fontname='Cambria')

plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

matplotlibでタイトルを日本語で表示する方法

日本語のタイトルを表示したい場合、ただ日本語の文字列を指定しただけでは、文字化けしてうまく表示できません

日本語が文字化けしている

日本語に対応したフォントを指定することで、日本語を文字化けさせずに表示することができます。

以下、サンプルコードです。

### タイトルの日本語で表示
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, np.pi * 4, 100)
y = np.sin(x)

fig, ax = plt.subplots()

ax.plot(x, y)

ax.set_title('タイトル', fontsize=30, fontname='MS Mincho')

plt.show()

コード実行後、表示されるグラフはこちらになります。

実行結果

> ax.set_title('タイトル', fontsize=30, fontname='MS Mincho')

日本語を表示できるフォントとして、MS Minchoを指定しています。

日本語を表示できるフォントとしては、他にも "Adobe Fan Heiti Std" や、"HGMinchoB"などがあります。

なお、使用できるフォントの一覧については、下記の記事で紹介しています。

matplotlibで使用できるフォント一覧

スポンサーリンク

-matplotlib, ライブラリ
-,