我正在使用 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 之间没有空白?