Я перехожу из Базовой карты в Картопу и хочу построить данные для Океана Arcti c, который покрывает полюс.
Я решил использовать проекцию NorthPolarStereo () и счастлив использовать либо pcolorme sh, либо контур. К сожалению, мое поле данных не отображается, когда я выполняю следующий код:
import cartopy.crs as ccrso
from netCDF4 import Dataset
def import_envisat_field(year,
month):
data_dir = f'/media/robbie/Seagate Portable Drive/Envisat_thickness/{year}/'
file = f'ESACCI-SEAICE-L3C-SITHICK-RA2_ENVISAT-NH25KMEASE2-{year}{month}-fv2.0.nc'
data = Dataset(data_dir+file)
return(data)
# Import data
data = import_envisat_field("2003","02")
# Make plot
fig = plt.figure(figsize=[10, 5])
ax = plt.axes(projection=ccrs.NorthPolarStereo())
ax.add_feature(cartopy.feature.OCEAN, zorder=0)
ax.add_feature(cartopy.feature.LAND, zorder=1, edgecolor='black')
extent = 2500000
ax.set_extent((-extent,
extent,
-extent,
extent),
crs=ccrs.NorthPolarStereo())
ax.gridlines()
lon = np.array(data['lon'])
lat = np.array(data['lat'])
field = np.array(data['sea_ice_thickness'])[0]
print(lon.shape,lat.shape,field.shape)
# This print command gives (432, 432) (432, 432) (432, 432)
plt.pcolormesh(lon, lat, field,zorder=2,
transform=ccrs.NorthPolarStereo())
plt.show()
Данные отображаются простым способом с использованием базовой карты, но выполнение приведенного выше кода просто дает мне хорошее представление о Arcti c океан, но без моих данных об этом.
Я также пытался заменить plt.pcolorme sh на ax.pcolorme sh, но это тоже не сработало.
Вывод карт:
Вывод базовой карты с теми же данными: