Python での注釈付き Matplotlib プロット

Beginner

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

はじめに

このチュートリアルでは、Python の Matplotlib を使って注釈付きのプロットを作成するプロセスを案内します。2 点を矢印で結び付け、プロットに楕円を追加し、矢印のスタイルと楕円のプロパティをカスタマイズする方法を学びます。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習します。

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

プロットの設定

まず、2 つのサブプロットでプロットを設定する必要があります。subplots 関数を使って 2x2 のサブプロットのグリッドを作成し、その後、2 点の x 座標と y 座標を定義します。

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

fig, axs = plt.subplots(2, 2)
x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7

矢印で 2 点を結ぶ

このステップでは、矢印で 2 点を結びます。矢印を作成するには annotate 関数を使い、矢印のスタイルと色をカスタマイズします。

ax = axs.flat[0]
ax.plot([x1, x2], [y1, y2], ".")
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-",
                            color="0.5",
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

プロットに楕円を追加する

このステップでは、プロットに楕円を追加します。楕円を作成するには Ellipse 関数を使い、位置、幅、高さ、角度などの楕円のプロパティをカスタマイズします。

ax = axs.flat[1]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)

楕円に接続する矢印をカスタマイズする

このステップでは、楕円に接続する矢印をカスタマイズします。矢印が楕円に接続するように arrowprops パラメータを使って指定し、矢印のスタイルと色もカスタマイズします。

ax = axs.flat[2]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-",
                            color="0.5",
                            patchB=el,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

楕円に向かって縮小する矢印をカスタマイズする

このステップでは、楕円に向かって縮小する矢印をカスタマイズします。矢印が楕円に向かって縮小する量を指定するには shrinkB パラメータを使います。

ax = axs.flat[3]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="fancy",
                            color="0.5",
                            patchB=el,
                            shrinkB=5,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

まとめ

このチュートリアルでは、Python の Matplotlib を使って注釈付きのプロットを作成する方法を学びました。2 点を矢印で結ぶ方法、プロットに楕円を追加する方法、矢印のスタイルと楕円のプロパティをカスタマイズする方法を学びました。これらのスキルは、データ可視化のための情報豊富で視覚的に魅力的なプロットを作成する際に役立ちます。