matplotlib

【matplotlib】タイトル・軸名・凡例の設定方法

【matplotlib】タイトル・軸名・凡例の設定方法

Pythonによるデータ分析をする際にグラフなどの可視化でよく利用されるmatplotlibでタイトル・軸名・凡例を設定する方法について解説します。

タイトル・軸名・凡例のラベル表示方法

matplotlibでグラフを描画した際に、タイトルや軸名、凡例のラベルを表示する方法について例を使って紹介します。

一般的な設定方法

matplotlibでタイトル等をグラフに表示するに以下の各種メソッドを用いることで設定できます。

  • タイトル: titleメソッド
  • x軸ラベル:xlabelメソッド
  • y軸ラベル:ylabelメソッド
  • 凡例:legendメソッド
import matplotlib.pyplot as plt
import numpy as np

plt.style.use('seaborn-whitegrid')

x = np.linspace(0, 10, 100)

# グラフ表示
plt.plot(x, np.sin(x), label='sin(x)')
plt.plot(x, np.cos(x), label='cos(x)')

# タイトルの表示
plt.title('Sine & Cosine Curve')

# x軸ラベルの設定
plt.xlabel('x')
plt.xlim(0, 10)

# y軸ラベルの設定
plt.ylabel('sin(x)')
plt.ylim(-2, 2)

# 凡例の設定
plt.legend()

plt.show()
matplotlib plot title xlabel ylabel legend

上記のように、title, xlabel, ylabelでは引数に文字列を渡すだけで簡単にラベルを表示できます。

legendで凡例を表示する場合には、グラフ表示のplotの際にlabel引数で表示する文字列を定義しておく必要があるので注意しましょう。

タイトル・軸名等をまとめて設定する方法 ~setメソッド~

タイトルや軸名等をまとめて設定したい場合は、setメソッドを使用することができます。

setを使用する場合には、以下の例のように、axesで軸情報を取得して使用します。

import matplotlib.pyplot as plt
import numpy as np

plt.style.use('seaborn-whitegrid')

x = np.linspace(0, 10, 100)

# グラフ表示
ax = plt.axes()
ax.plot(x, np.sin(x), label='sin(x)')
ax.plot(x, np.cos(x), label='cos(x)')

# setメソッドでタイトル等を各種設定
ax.set(xlim=(0, 10), ylim=(-2, 2),
       xlabel='x', ylabel='y',
       title='Sine & Cosine Curve')

# 凡例の設定
plt.legend()

plt.show()
matplotlib plot set legend

上記のようにsetメソッドの引数として、xlabel, ylabel, titleといった文字列を渡すことができます。また、本記事の主な内容ではありませんがxlim、ylim等を用いて軸の範囲を設定することもできます。

凡例については、legendメソッドで表示します。

NumPy, pandas, matplotlib, scikit-learnといったデータ分析関連パッケージについて体系的に習得したい場合は「Pythonデータサイエンスハンドブック」が大変おすすめです。
matplotlibに関する使い方も豊富に掲載されていますので手元に置いておくと便利です。是非購入を検討してみてください。