Базовая карта и изображение imshow не выровнены

Я новичок в питоне и базовой карте, так что прости меня, если я упустил что-то очевидное или совершил ошибку новичка.

У меня есть набор данных с привязкой к сетке (данные о погоде на решетке широта / долгота), которые я пытаюсь отобразить на базовой карте. Я могу построить точные данные, используя colormesh, но процесс интерполяции / сглаживания, кажется, занимает слишком много времени при применении к самому массиву данных. Увы, я надеюсь нанести данные с помощью imshow поверх базовой карты и применить интерполяцию с помощью imshow, поскольку она выглядит быстрее.

Тем не менее, когда я строю данные через imshow, они не выравниваются должным образом. Изображение выглядит "усеченным" и неуместным на фоне базовой карты. Возможно, это даже перевернуло с ног на голову. Я пытался использовать экстент kwarg, но мне не повезло... вероятно, потому что я делаю это неправильно.

#Basemap, 6 panel plot
map_image = Basemap(projection='mill', lat_ts=10, llcrnrlon=-86, urcrnrlon=-72, llcrnrlat=36, urcrnrlat=44, resolution='i', ax=ax[location1r, location1c])
x1, y1 = map_image(lons, lats)     

# pull radar data, latitudes and longitudes from grib2 file via pygrib function
raindbz = pull_grib_data_bylevels.pullvalueslevels(totalgribfile,'rain','Derived radar reflectivity',1000,1)
lats, lons = pull_grib_data_bylevels.pulllatlonslevels(totalgribfile,'DBZ','Derived radar reflectivity',1000,1)
raindbz = np.ma.masked_less(raindbz, 105)

#plot via imshow, using custom radar colormap
map_image.imshow(raindbz, cmap=rain_colormap, extent=[x1.min(), x1.max(), y1.min(), y1.max()])

plt.draw()

Используя colormesh, изображение строится правильно:

cs1 = map_image.pcolormesh(x1, y1, raindbz, norm=rainnorm, cmap=rain_colormap)

У меня такое ощущение, что я должен сделать что-то, чтобы соответствовать "протяженности" изображения imshow, чтобы соответствовать базовой карте, но я не уверен, как. Нужно ли объединять данные в координаты широты / долготы? Я все время путаюсь.

Я приложил ссылки к изображениям ниже, чтобы помочь показать проблему.

Во всяком случае, я предполагаю, что исправить метод imshow очень просто - есть ли у кого-нибудь рекомендации, как мне решить проблему? Спасибо!

Colormesh_correct imshow_incorrect

0 ответов

Другие вопросы по тегам