はじめに
Matplotlib は、Python で静的、アニメーション、インタラクティブなビジュアライゼーションを作成するために使用される Python ライブラリです。これは、データ可視化の強力なツールであり、科学界で広く使用されています。この実験では、Matplotlib のプロットにズームイン領域を作成する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
最初のステップは、必要なライブラリをインポートすることです。この例では、NumPy と Matplotlib を使用します。
import numpy as np
from matplotlib import cbook
from matplotlib import pyplot as plt
プロットを作成する
次に、いくつかのサンプルデータを使ってプロットを作成します。データソースとして二変量正規分布を使用します。
fig, ax = plt.subplots()
## make data
Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy") ## 15x15 array
Z2 = np.zeros((150, 150))
ny, nx = Z.shape
Z2[30:30+ny, 30:30+nx] = Z
extent = (-3, 4, -4, 3)
ax.imshow(Z2, extent=extent, origin="lower")
インセットプロットを追加する
このステップでは、メインプロットにインセットプロットを追加します。このインセットプロットは、メインプロットのズームイン領域を表示します。
## inset axes....
x1, x2, y1, y2 = -1.5, -0.9, -2.5, -1.9 ## subregion of the original image
axins = ax.inset_axes(
[0.5, 0.5, 0.47, 0.47],
xlim=(x1, x2), ylim=(y1, y2), xticklabels=[], yticklabels=[])
axins.imshow(Z2, extent=extent, origin="lower")
ズームイン領域を示すための矩形を追加する
このステップでは、メインプロットに矩形を追加して、ズームイン領域がどこにあるかを示します。
ax.indicate_inset_zoom(axins, edgecolor="black")
プロットを表示する
最後に、plt.show()関数を使ってプロットを表示します。
plt.show()
まとめ
この実験では、Matplotlib のプロットにズームイン領域を作成する方法を学びました。サンプルデータを使ってメインプロットを作成し、メインプロットのズームイン領域を表示するためのインセットプロットを追加し、ズームイン領域がある場所を示すための矩形を追加しました。そして、plt.show()関数を使ってプロットを表示しました。