Matplotlib コネクション パッチ可視化

Beginner

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

はじめに

Matplotlib は、Python における強力なデータ可視化ライブラリです。これは、見事なグラフやチャートを作成するためのさまざまな可視化ツールを提供します。この実験では、異なる座標系および/または軸に定義された点間に線を引くために使用される ConnectionPatch について学びます。

VM のヒント

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

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

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

必要なライブラリをインポートする

始める前に、必要なライブラリをインポートしましょう。

import matplotlib.pyplot as plt
from matplotlib.patches import ConnectionPatch

グラフを作成する

次に、2 つのサブプロット付きのグラフを作成しましょう。

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(6, 3))

単純な矢印を描画する

次に、単一の軸内の軸座標における 2 点間に単純な矢印を描画しましょう。

xyA = (0.2, 0.2)
xyB = (0.8, 0.8)
coordsA = "data"
coordsB = "data"
con = ConnectionPatch(xyA, xyB, coordsA, coordsB,
                      arrowstyle="-|>", shrinkA=5, shrinkB=5,
                      mutation_scale=20, fc="w")
ax1.plot([xyA[0], xyB[0]], [xyA[1], xyB[1]], "o")
ax1.add_artist(con)

異なる軸間に矢印を描画する

データ座標における同じ点の間に、異なる軸間に矢印を描画しましょう。

xy = (0.3, 0.2)
con = ConnectionPatch(
    xyA=xy, coordsA=ax2.transData,
    xyB=xy, coordsB=ax1.transData,
    arrowstyle="->", shrinkB=5)
fig.add_artist(con)

異なる点間に線を描画する

最後に、異なる座標系で定義された異なる点間に線を描画しましょう。

con = ConnectionPatch(
    ## in axes coordinates
    xyA=(0.6, 1.0), coordsA=ax2.transAxes,
    ## x in axes coordinates, y in data coordinates
    xyB=(0.0, 0.2), coordsB=ax2.get_yaxis_transform(),
    arrowstyle="-")
ax2.add_artist(con)

まとめ

この実験では、異なる座標系および/または軸に定義された点間に線を描画するために使用される ConnectionPatch について学びました。また、グラフ内の異なる点間に単純な矢印と線を描画する方法についても学びました。