我正在使用二维纬度-经度网格中的数据进行处理,该网格是使用Cartopy绘制的。我想在此数据旁边绘制纬度或经度轴的平均数据,但是我不知道如何强制此线图具有与Cartopy中绘制的数据相同的宽度(或高度)。现在,我得到以下信息:
但是,我想:
我当前的代码:
if avg_axis == 'lat':
fig = plt.figure(figsize=(8,9))
gs = gridspec.GridSpec(2, 1, height_ratios=[3, 1])
ax1 = plt.subplot(gs[0], projection=ccrs.PlateCarree())
ax2 = plt.subplot(gs[1])
ax2.plot(lons, avg_phase)
ax2.set_ylabel('Average Phase')
ax2.set_xlabel('Longitude')
if avg_axis == 'lon':
fig = plt.figure(figsize=(10,6))
gs = gridspec.GridSpec(1, 2, width_ratios=[3, 1])
ax1 = plt.subplot(gs[0], projection=ccrs.PlateCarree())
ax2 = plt.subplot(gs[1])
ax2.plot(avg_phase, lats)
ax2.set_xlabel('Average Phase')
ax2.set_ylabel('Latitude')
cf = ax1.pcolor(lons, lats, phase, transform=ccrs.PlateCarree(), cmap='hsv', vmin=-np.pi, vmax=np.pi)
ax1.coastlines()
ax1.add_feature(cartopy.feature.LAND, zorder=100, edgecolor='k')
gl = ax1.gridlines(crs=ccrs.PlateCarree(), linestyle='--', draw_labels = True)
gl.xlabels_top = False
gl.ylabels_right = False
cbar = fig.colorbar(cf, ax=ax1)
cbar.ax.set_ylabel('phase')