はじめに
データ可視化において、凡例は視聴者が見ているものを理解するのに役立ちます。Matplotlib の凡例は、グラフの要素を表すラベルです。このチュートリアルでは、Matplotlib の図に凡例を作成する方法を示します。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。私たちは迅速に問題を解決いたします。
必要なライブラリをインポートする
まず、必要なライブラリ - NumPy と Matplotlib をインポートする必要があります。NumPy は配列を扱うための Python ライブラリであり、Matplotlib はデータ可視化ライブラリです。
import matplotlib.pyplot as plt
import numpy as np
基本的なグラフを作成する
基本的なグラフを作成するには、x と y の値を定義し、それらを plt.plot() を使ってプロットする必要があります。ここでは、2 つのサイン波をプロットします。
x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.sin(4 * np.pi * x)
plt.plot(x, y1, label='sin(2pix)')
plt.plot(x, y2, label='sin(4pix)')
凡例を追加する
グラフに凡例を追加するには、plt.legend() 関数を使用します。関数の labels パラメータに、各線のラベルを文字列のリストとして渡すことができます。
plt.legend(labels=['sin(2pix)', 'sin(4pix)'])
凡例のカスタマイズ
凡例の位置、フォントサイズなどのパラメータを変更することで、凡例をカスタマイズできます。凡例の位置を変更するには、loc パラメータを使用します。また、fontsize パラメータを使ってフォントサイズを変更することもできます。
plt.legend(labels=['sin(2pix)', 'sin(4pix)'], loc='lower right', fontsize='large')
サブプロット用の凡例を作成する
サブプロットを作成する際、fig.legend() 関数を使用して、すべてのサブプロット用の凡例を作成できます。ここでは、2 つのサブプロットを作成し、各サブプロットに 2 つの線をプロットします。
fig, axs = plt.subplots(1, 2)
x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')
y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')
fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='upper right')
凡例を軸の外に配置する
時には、凡例を軸の外に配置したい場合があります。loc パラメータを使用して、軸の外の凡例の位置を指定できます。
fig, axs = plt.subplots(1, 2, layout='constrained')
x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')
y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')
fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='outside right upper')
まとめ
このチュートリアルでは、Matplotlib のグラフに凡例を作成する方法を学びました。基本的なプロットを作成し、凡例を追加し、凡例をカスタマイズし、サブプロット用の凡例を作成し、凡例を軸の外に配置する方法を見てきました。凡例はデータ可視化の重要な要素であり、それを作成する方法を知ることは、データサイエンティストやアナリストにとって欠かせないスキルです。