事前定義のラベル付き凡例の作成

Beginner

This tutorial is from open-source community. Access the source code

はじめに

データ可視化において、凡例はグラフの可視要素を解釈するための鍵となります。視聴者にとって、データとその可視表現の意味を理解するのに役立ちます。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 つの配列abを作成します。その後、aの指数関数を計算するためにexp関数を使って、さらに 2 つの配列cdを計算し、dcの逆順にします。

## 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 で独自のグラフ用の凡例を作成できます。