Matplotlib の PathPatch オブジェクトの作成

Beginner

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

はじめに

Matplotlib は、ユーザーがさまざまな種類のチャートやグラフを作成できる Python ライブラリです。データ可視化やデータ分析に使用されます。この実験では、Matplotlib の API を使用して PathPatch オブジェクトを作成する方法を学びます。

VM のヒント

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

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

学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。そうすれば、迅速に問題を解決します。

ライブラリのインポート

この実験で必要なライブラリをインポートする必要があります。

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

パスデータの定義

このステップではパスデータを定義します。パスデータは、パスの頂点とコードを指定するタプルのシーケンスです。このデータから Path オブジェクトを作成するために、mpath.Pathクラスを使用します。

Path = mpath.Path
path_data = [
    (Path.MOVETO, (1.58, -2.57)),
    (Path.CURVE4, (0.35, -1.1)),
    (Path.CURVE4, (-1.75, 2.0)),
    (Path.CURVE4, (0.375, 2.0)),
    (Path.LINETO, (0.85, 1.15)),
    (Path.CURVE4, (2.2, 3.2)),
    (Path.CURVE4, (3, 0.05)),
    (Path.CURVE4, (2.0, -0.5)),
    (Path.CLOSEPOLY, (1.58, -2.57)),
    ]
codes, verts = zip(*path_data)
path = mpath.Path(verts, codes)

PathPatch オブジェクトの作成

このステップでは、前のステップで作成したパスオブジェクトを使用してPathPatchオブジェクトを作成します。このオブジェクトは、パスで囲まれた領域を塗りつぶすために使用されます。また、パッチの色や透明度を設定することもできます。

patch = mpatches.PathPatch(path, facecolor='r', alpha=0.5)

プロットに PathPatch を追加する

ここで、axes オブジェクトのadd_patchメソッドを使って、パッチオブジェクトをプロットに追加します。

fig, ax = plt.subplots()
ax.add_patch(patch)

制御点と接続線をプロットする

このステップでは、axes オブジェクトのplotメソッドを使って、パスの制御点と接続線をプロットします。

x, y = zip(*path.vertices)
line, = ax.plot(x, y, 'go-')

プロットのカスタマイズ

最後に、グリッドを追加して軸を等しくすることでプロットをカスタマイズします。

ax.grid()
ax.axis('equal')
plt.show()

まとめ

この実験では、Matplotlib の API を使って PathPatch オブジェクトを作成する方法を学びました。パスデータを定義し、Path オブジェクトを作成し、それを使ってプロットに追加する PathPatch オブジェクトを作成しました。また、パスの制御点と接続線をプロットし、グリッドを追加して軸を等しくすることでプロットをカスタマイズしました。