我是生产多图的新手。我使用xarray和气候netcdf数据检查地球物理变量'csb'的日变化过程。因此,我想生成一个包含每小时地图的多图。 在Jupyter笔记本中,该图看起来不错,但是当我保存它时,标题和轴标签被切除了。我试图找到在线帮助,但似乎关键字和方法不匹配。 第二个(目前是次要的)问题是,出于相同的原因,我也无法调整颜色条的大小。 我觉得我在圈子里移动:( 任何帮助,将不胜感激!谢谢!
# setup colorbar and levels
my_cmap = plt.get_cmap('gist_rainbow')
my_cmap.set_under('white')
levels = [-30, -20, -10, -8, -6, -4, -2, 0, 5]
# define data slice
dr = da.sel(latitude=slice(lat_min, lat_max), longitude=slice(lon_min, lon_max))
# plot
g = dr['csb'].plot(x='longitude', y='latitude', col='UTC', col_wrap=4, aspect=dr.dims['longitude']/dr.dims['latitude'], cmap=my_cmap, vmin=-30, vmax=5, levels=levels, robust=True, subplot_kws={'projection': ccrs.PlateCarree()})
g.set_axis_labels(x_var='longitude', y_var='latitude')
# configure subplots
extent = [lon_min, lon_max, lat_min, lat_max]
for i, ax in enumerate(g.axes.flat):
ax.set_extent(extent)
ax.coastlines(color="black", lw=1)
ax.set_title(('%s M=%d UTC=%d' % (area, month, i)))
ax.add_feature(cfeature.RIVERS, lw=2, edgecolor='grey')
ax.add_feature(cfeature.BORDERS, lw=1)
ax.set_xticks([j for j in [-75, -45]])
ax.set_yticks([j for j in [10, 0, -25]])
# title and adjust subplots up:
suptitle = '%s, month=%d, latitude=(%d, %d) longitude=(%d, %d)' % (name, month, lat_max, lat_min, lon_min, lon_max)
st = plt.suptitle(suptitle, fontsize = 22)
st.set_y(1.01)
st.set_x(0.45)
figure_name = '[my_path]/[my_file_name]'
plt.savefig(figure_name, dpi=600)