Matplotlib の ImageGrid を使って画像を整列させる

PythonPythonBeginner
オンラインで実践に進む

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このチュートリアルでは、Matplotlib のmpl_toolkits.axes_grid1からのImageGridを使用して、異なるサイズの複数の画像を整列させる方法を学びます。

VM のヒント

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

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

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

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

まず、Matplotlib、cbook、および ImageGrid を含む必要なライブラリをインポートする必要があります。

import matplotlib.pyplot as plt
from matplotlib import cbook
from mpl_toolkits.axes_grid1 import ImageGrid

グラフと ImageGrid を作成する

次に、グリッドの行数と列数を定義するためのnrows_ncolsパラメータを使用して、グラフと ImageGrid を作成します。

fig = plt.figure(figsize=(5.5, 3.5))
grid = ImageGrid(fig, 111,  ## similar to subplot(111)
                 nrows_ncols=(1, 3),
                 axes_pad=0.1,
                 label_mode="L")

画像データを読み込む

ImageGrid を示すために、cbookからのbivariate_normal.npyと呼ばれるサンプル画像データを使用します。cbookget_sample_data関数を使用して画像データを読み込みます。

Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy")
im1 = Z
im2 = Z[:, :10]
im3 = Z[:, 10:]
vmin, vmax = Z.min(), Z.max()

ImageGrid に画像を表示する

最後に、imshow関数とzip関数を使用して ImageGrid に画像を表示し、グリッド内の軸を反復処理します。

for ax, im in zip(grid, [im1, im2, im3]):
    ax.imshow(im, origin="lower", vmin=vmin, vmax=vmax)

plt.show()

まとめ

このチュートリアルでは、Matplotlib のImageGridを使用して、異なるサイズの複数の画像を整列させる方法を学びました。まず必要なライブラリをインポートし、次にグラフと ImageGrid を作成し、画像データを読み込み、最後に ImageGrid に画像を表示しました。