底图npstere投影会返回没有数据的空白地图

时间:2018-11-12 20:11:39

标签: python-3.x matplotlib plot matplotlib-basemap

我正在尝试使用带有底图的极地立体投影在北极上绘制海冰浓度图。返回的地图已完成对投影的所有格式设置,但没有任何数据。我可以使用相同的数据绘制带有圆柱投影的图,但是当我将投影更改为“ 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()

1 个答案:

答案 0 :(得分:0)

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