はじめに
この実験では、Matplotlib の offsetbox と mpl_toolkits.axes_grid1 にあるアンカー付きのヘルパークラスをどのように使用するかを学びます。これらのクラスを使って、テキストボックス、円、およびサイズバーを含む図を作成します。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
ライブラリのインポート
始めるには、Matplotlib と必要なモジュールをインポートする必要があります。
import matplotlib.pyplot as plt
from matplotlib.offsetbox import AnchoredText
from matplotlib.patches import Circle
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDrawingArea, AnchoredSizeBar
図の作成
Matplotlib のsubplots()関数を使って、図と軸のオブジェクトを作成します。
fig, ax = plt.subplots()
ax.set_aspect(1.)
テキストボックスの追加
図に 2 つのテキストボックスを追加し、図の左上隅に異なる角で固定します。
at = AnchoredText("Figure 1a",
loc='upper left', prop=dict(size=8), frameon=True,
)
at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at)
at2 = AnchoredText("Figure 1(b)",
loc='lower left', prop=dict(size=8), frameon=True,
bbox_to_anchor=(0., 1.),
bbox_transform=ax.transAxes
)
at2.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at2)
円を描画する
軸座標で円を描画します。
ada = AnchoredDrawingArea(20, 20, 0, 0,
loc='upper right', pad=0., frameon=False)
p = Circle((10, 10), 10)
ada.da.add_artist(p)
ax.add_artist(ada)
サイズバーの追加
データ座標において長さ 0.1 の水平バーを描画し、その下に固定ラベルを付けます。
asb = AnchoredSizeBar(ax.transData,
0.1,
r"1$^{\prime}$",
loc='lower center',
pad=0.1, borderpad=0.5, sep=5,
frameon=False)
ax.add_artist(asb)
図を表示する
Matplotlib のshow()関数を使って図を表示します。
plt.show()
まとめ
この実験では、Matplotlib の offsetbox と mpl_toolkits.axes_grid1 にある固定補助クラスを使って、テキストボックス、円、およびサイズバー付きの図を作成する方法を学びました。これらのクラスを使って、図に情報的な注釈やグラフィックを追加することができます。