はじめに
データ可視化において、凡例はグラフの可視要素を解釈するための鍵となります。視聴者にとって、データとその可視表現の意味を理解するのに役立ちます。Matplotlib は、凡例付きのグラフを含むデータ可視化を作成するための人気のある Python ライブラリです。このチュートリアルでは、Matplotlib で事前定義されたラベル付きの凡例を作成する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリのインポート
必要なライブラリをインポートして始めましょう。これには Matplotlib と NumPy が含まれます。グラフ用にいくつかの疑似データを生成するために NumPy を使用します。
import matplotlib.pyplot as plt
import numpy as np
データの生成
次に、グラフに使用するための疑似データを生成します。NumPy のarange関数を使って、2 つの配列aとbを作成します。その後、aの指数関数を計算するためにexp関数を使って、さらに 2 つの配列cとdを計算し、dをcの逆順にします。
## Make some fake data.
a = b = np.arange(0, 3,.02)
c = np.exp(a)
d = c[::-1]
グラフの作成
これでグラフを作成する準備が整いました。Matplotlib のplot関数を使って、同じグラフに 3 つの線を描画し、それぞれ事前定義されたラベルを付けます。各線にラベルを割り当てるためにlabelパラメータを使用します。
## Create plots with pre-defined labels.
fig, ax = plt.subplots()
ax.plot(a, c, 'k--', label='Model length')
ax.plot(a, d, 'k:', label='Data length')
ax.plot(a, c + d, 'k', label='Total message length')
凡例の追加
グラフに凡例を追加するには、Matplotlib のlegend関数を使用します。凡例の位置を指定するためにlocパラメータを渡し、凡例に影の効果を追加するためにshadowパラメータを渡します。また、凡例のフォントサイズを設定するためにfontsizeパラメータも使用します。
legend = ax.legend(loc='upper center', shadow=True, fontsize='x-large')
凡例のスタイリング
最後に、凡例をより視覚的に魅力的にするためにスタイリングします。凡例の枠を取得するためにget_frame関数を使用し、その後、枠の背景色を設定するためにset_facecolor関数を使用します。
## Put a nicer background color on the legend.
legend.get_frame().set_facecolor('C0')
グラフの表示
これで、Matplotlib のshow関数を使ってグラフを表示できます。
plt.show()
まとめ
このチュートリアルでは、Matplotlib で事前定義されたラベル付きの凡例を作成する方法を学びました。同じグラフに 3 つの線を描画するためにplot関数を使用し、各線にラベルを割り当てるためにlabelパラメータを使用しました。その後、凡例をグラフに追加するためにlegend関数を使用し、凡例をより視覚的に魅力的にするためにスタイリングしました。これらの手順に従うことで、Matplotlib で独自のグラフ用の凡例を作成できます。