使用不同程度的数据使各个子图保持相同的维度[matplotlib]

时间:2018-08-03 21:48:27

标签: python matplotlib

我有一个2 x 4子图,该子图根据我提供的数据范围来呈现略有不同的大小。无论数据范围如何,如何保持子图的尺寸相同?我以为轮廓和轮廓线中的范围参数可能是为此目的而设计的,但是如果我提供X和Y参数(我提供纬度/经度),显然就不会使用它。

下面两个图中的唯一区别是输入到轮廓f()的数据。

fig, ax = plt.subplots(4,2, figsize = (20,20),subplot_kw = {'projection': cart_proj})

fig.subplots_adjust(top =.9, bottom = 0.05, left = 0.3, right = 0.7, hspace = 0.07, wspace = .2)

index = 0

for i in range(4):

    im = ax[i,0].contourf(to_np(lon), to_np(lat), to_np(s[index]), np.linspace(0,600,scaleResolution), 
           transform=crs.PlateCarree(),
           cmap=get_cmap(meanColorScale), vmin = 0, vmax = 600)

    index = index + 1 

    if i == 0:
        cbar_ax = fig.add_axes([0.465, 0.05, 0.01, 0.85])
        cbar = fig.colorbar(im, cax=cbar_ax)

for i in range(4):

    im = ax[i,1].contourf(to_np(lon), to_np(lat), to_np(s[index]), np.linspace(-150,150,scaleResolution),           
           transform=crs.PlateCarree(), cmap=get_cmap(anomalyColorScale), 
           vmin = -150, vmax = 150, extend = 'both')

    index = index + 1 

    if i == 3:
        cbar_ax = fig.add_axes([0.6835, 0.05, 0.01, 0.85])
        fig.colorbar(im, cax=cbar_ax)

    plt.savefig(figPath + fileName + str(year+1988), bbox_inches='tight')

enter image description here

enter image description here

0 个答案:

没有答案