axes_grid1のImageGridを用いて複数の画像を表示する方法
コード
解説
モジュールのインポート
mpl_toolkits.axes_grid1 からImageGridをインポートする。
Fig, ImageGridの生成
ImageGridを使うことで、同じサイズの画像を並べて表示することができる。
figオブジェクトをfig = plt.figure(1, (4., 4.))で作成。
ImageGridの 111, は subplot(111)と似たような感じで、各グリッドに表示する画像の配置を設定する。
nrows_ncolsはグリッドの構造で、ここでは、(2, 2)とすることで, 2×2 の画像を表示するグリッドを作成している。
axes_padはグリッドの画像の表示間隔で、0.1とすることで、少し隙間を空けている。
画像の表示
各グリッドはリスト形式で指定できるので、for文を用いることで順次画像を表示している。データは、np.random.randn(100)でランダムな100個のデータを生成して、それをreshape((10, 10))で10✕10の形状にすることで画像データとして取得している。
サイズの異なる画像を並べて表示
データの生成
x = np.linspace(0, 4, 20)で、Z=np.sin(2*x) * np.cos(4*x[:, np.newaxis])とブロードキャストすることで、Zデータを生成している。Zのshapeは(20, 20)となる。
Fig, ImageGridの生成
add_all=Trueで図が表示されるようになる。Falseとした場合、<Figure size 396×252 with 0 Axes>となり、図が生成されない。
nrows_ncols=(1, 3)としているので、横に3つの画像が並ぶこととなる。
label_mode=”L”で左と下にのみ軸ラベルが表示される。
画像の表示
im2とim3はZの横幅を半分としている。
vmin, vmax = Z.min(), Z.max()は、カラーバーの表示範囲の設定を行っている。
コメント
[…] [matplotlibの使い方] 19. mpl_toolkits.axes_grid1 の使い方(画像の表示)axes_grid1のImageGridを用いて複数の画像を表示する方法sabopy.com2019.03.04 (adsbygoogle = window.adsbygoogle || []).push({}); […]
[…] [matplotlibの使い方] 19. mpl_toolkits.axes_grid1 の使い方(画像の表示)axes_grid1のImageGridを用いて複数の画像を表示する方法sabopy.com2019.03.04 […]