I am trying to plot 2 figures from NetCDF files after analysis into subplots, I could plot individually but cannot plot as subplots. There are no errors shown but figure not coming properly.
import xarray as xr
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import numpy as np
import cartopy.mpl.ticker as cticker
#%% OLR Import
fname ='/home/SIMS/P1/*.nc'
ds = xr.open_mfdataset(fname)
olr = ds.olr
mea = ds.mean('time')
# OLR daily data import
cname ='/home/SIMS/olrr/OLR.nc'
dc = xr.open_dataset(cname)
colr = dc.olr
# calculating JJAS climatology
def is_jjas(month):
return (month >= 6) & (month <= 9)
seasonal_data_olr = colr.sel(time=is_jjas(colr['time.month']))
climatology = seasonal_data_olr.mean('time')
# Anomaly
anomaly_olr=mea-climatology
fig = plt.figure()
ax = plt.axes(projection=ccrs.Mercator(central_longitude=80.0, min_latitude=-10.0, max_latitude=20.0, globe=None, latitude_true_scale=0.0))
plt.subplot(2,1,1)
climatology.plot.contourf(ax=ax,transform=ccrs.PlateCarree(),vmin=0, vmax=245)
plt.subplot(2,1,2)
anomaly_olr.olr.plot.contourf(ax=ax, transform=ccrs.PlateCarree(),cmap="jet", vmin=-30, vmax=30)
plt.show()
my variables
climatology
xarray.DataArray 'olr' (lat: 15, lon: 73)
anomaly_olr.olr
xarray.DataArray 'olr' (lat: 15, lon: 73)
it gives this figure without contourf
After making few changes I could plot it well. I changed few lines as follows,
plt.figure(figsize=(8, 10))
ax1 = plt.subplot(2,1,1, projection=ccrs.Mercator(central_longitude=80.0, min_latitude=-10.0, max_latitude=20.0, globe=None, latitude_true_scale=0.0))
anomaly_olr.olr.plot.contourf(ax=ax1, transform=ccrs.PlateCarree(),cmap="jet", vmin=-30, vmax=30)
ax2 = plt.subplot(2,1,2, projection=ccrs.Mercator(central_longitude=80.0, min_latitude=-10.0, max_latitude=20.0, globe=None, latitude_true_scale=0.0))
climatology.plot.contourf(ax=ax2,transform=ccrs.PlateCarree(),vmin=0, vmax=245)
plt.show()
Thanks anyway