我正在尝试使用带有底图的极地立体投影来绘制北极上的海冰浓度图。返回的地图已完成对投影的所有格式设置,但没有任何数据。我可以使用相同的数据绘制带有圆柱投影的图,但是当我将投影更改为“ npstere”时,它是空白的。我尝试了不同的数据集,但是无论我使用什么数据集,地图都是空白的。

这是生成的地图(屏幕截图,保存的图只是空白)

Blank_map

这是我的代码,
我正在使用Python3.5,Matplotlib 2.2.2和Basemap 1.0.7

# load packages
%matplotlib inline
import xarray as xr
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

# load data
icedata = xr.open_dataset('IceData/G10010_SIBT1850_v1.1_JF.nc', decode_times=False)
seaice_1850 = icedata.seaice_conc_JF[0]

# make map projection
map_fig = Basemap(projection='npstere', boundinglat=50 ,lon_0=0)

# get lat/lon formatted
lon_1d = icedata.longitude.values
lat_1d = icedata.latitude.values
lon_2d, lat_2d = np.meshgrid(lon_1d, lat_1d)

# plot data over map
map_fig.pcolormesh(lon_2d, lat_2d, seaice_1850, cmap='jet')

# make it pretty
map_fig.drawcoastlines()
map_fig.drawparallels(np.arange(-80.,81.,10.))
map_fig.drawmeridians(np.arange(-180.,181.,20.))
plt.colorbar()
plt.show()

最佳答案

在pcolormesh(matplotlib.org/basemap/api/basemap_api.html)调用中将latlon关键字设置为True可以解决问题。

关于python-3.x - basemap npstere投影返回无数据的空白 map ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53269402/

10-13 09:11