【matplotlib】複数グラフを一つのウィンドウに表示する方法
naoki-hn Python Tech

Pythonによるデータ分析をする際にグラフなどの可視化でよく利用されるmatplotlibでタイトル・軸名・凡例を設定する方法について解説します。
matplotlibでグラフを描画した際に、タイトルや軸名、凡例のラベルを表示する方法について例を使って紹介します。
matplotlibでタイトル等をグラフに表示するに以下の各種メソッドを用いることで設定できます。
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()
上記のように、title, xlabel, ylabelでは引数に文字列を渡すだけで簡単にラベルを表示できます。
legendで凡例を表示する場合には、グラフ表示のplotの際にlabel引数で表示する文字列を定義しておく必要があるので注意しましょう。
タイトルや軸名等をまとめて設定したい場合は、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()
上記のようにsetメソッドの引数として、xlabel, ylabel, titleといった文字列を渡すことができます。また、本記事の主な内容ではありませんがxlim、ylim等を用いて軸の範囲を設定することもできます。
凡例については、legendメソッドで表示します。
上記で紹介しているソースコードについてはgithubにて公開しています。参考にしていただければと思います。