2

AxesGrid クラスを使用して、次のようなプロットを作成しています。imshow と等高線を使用した AxesGrid

コードは基本的に次のようになります。

      grid = AxesGrid(fig,
                111,
                nrows_ncols = (2,2),
                axes_pad = 0.50,
                label_mode = "all",
                cbar_location='right',
                cbar_mode='single',
                cbar_pad =0.3,
                cbar_size='5%'
                )

次に、4 つのパネルのそれぞれについて、次のように imshow と輪郭を呼び出します。

       # some definitions etc.


        im1 = grid[0].imshow(np.transpose(De[i1:i2,j1:j2]),
           aspect='equal',
           vmin=vmin, vmax = vmax,
           origin='lower',
           extent=extent)


    # some other stuff [...]


        grid[0].contour(np.transpose(F[i1:i2,j1:j2]),levels=levls,
                extent=extent,colors='k',cmap=None)

    # and so on for the 3 other panels

唯一の違いは、extent キーワードに対して画像の値を変えたいということです。右上の画像の範囲を (31.5,35.5,11,14) にし、右下のパネルの範囲を (29.5, 33.5, 11, 14) にしたいとすると、次のようになります。

新しいプロット

matplotlib が軸を調整しているようです。データと ax の間に空の空白を入れずに、希望する範囲を指定する方法はありますか?

4

1 に答える 1

0

パラメータを追加します。

share_x=False

あなたのグリッド世代へ。次に、各プロットの xlim を個別に設定できます。

于 2013-01-09T20:03:42.927 に答える