Проекции Cartopy, не относящиеся к PlateCarree, приводят к пустому графикуPython

Программы на Python
Anonymous
Проекции Cartopy, не относящиеся к PlateCarree, приводят к пустому графику

Сообщение Anonymous »

Я пытаюсь нанести некоторые климатические данные на карту части Скандинавии. В приведенных ниже кодах я исключил ненужные части, сосредоточив внимание на частях, основанных на преобразовании и проекции.
Использование PlateCarree() как ключевых слов преобразования и проекции работает, но в этом случае проекция карта перекошена:

Код: Выделить всё

dataset_LU = Dataset('data.nc', 'r')
LU = dataset_LU.variables['LU_INDEX'][0,:,:]
lats = dataset_LU.variables['XLAT_M'][0,:,:]
lons = dataset_LU.variables['XLONG_M'][0,:,:]

projection = crs.PlateCarree()
transform = crs.PlateCarree()

fig, axs = plt.subplots(nrows = nrows, ncols = ncolumns,
subplot_kw = {'projection': projection},
figsize = (11,8.5))

cs = axs.contourf(lons, lats, LU, 60, transform=transform,
levels=levels, cmap=cmap2, extend='both')
axs.set_extent(bbox, projection)
Изображение

При использовании Mercator() в качестве преобразования и проекции карта отображается, но без черных линий, с неправильным цветом океана и все еще в перекошенной проекции:

Код: Выделить всё

dataset_LU = Dataset('data.nc', 'r')
LU = dataset_LU.variables['LU_INDEX'][0,:,:]
lats = dataset_LU.variables['XLAT_M'][0,:,:]
lons = dataset_LU.variables['XLONG_M'][0,:,:]

projection = crs.Mercator()
transform = crs.Mercator()

fig, axs = plt.subplots(nrows = nrows, ncols = ncolumns,
subplot_kw = {'projection': projection},
figsize = (11,8.5))

cs = axs.contourf(lons, lats, LU, 60, transform=transform,
levels=levels, cmap=cmap2, extend='both')
axs.set_extent(bbox, projection)
Изображение

При использовании Mercator() в качестве проекции и PlateCarree() в качестве преобразования код занимает много времени, а затем отображает пустой график:

Код: Выделить всё

dataset_LU = Dataset('data.nc', 'r')
LU = dataset_LU.variables['LU_INDEX'][0,:,:]
lats = dataset_LU.variables['XLAT_M'][0,:,:]
lons = dataset_LU.variables['XLONG_M'][0,:,:]

projection = crs.Mercator()
transform = crs.PlateCarree()

fig, axs = plt.subplots(nrows = nrows, ncols = ncolumns,
subplot_kw = {'projection': projection},
figsize = (11,8.5))

cs = axs.contourf(lons, lats, LU, 60, transform=transform,
levels=levels, cmap=cmap2, extend='both')
axs.set_extent(bbox, projection)
Изображение

Что я здесь не понимаю? Как мне решить эту проблему и отобразить свои данные в проекции Меркатора (или любой другой проекции, отличной от PlateCarree)?


Подробнее здесь: https://stackoverflow.com/questions/786 ... empty-plot

Вернуться в «Python»