【问题标题】:Basemap npstere projection returns blank map without data底图 npstere 投影返回没有数据的空白地图
【发布时间】:2019-04-15 14:25:58
【问题描述】:

我正在尝试使用带有底图的极地立体投影绘制北极上空的海冰浓度图。返回的地图对投影进行了所有格式化,但没有任何数据。我可以使用相同的数据制作带有圆柱投影的绘图,但是当我将投影更改为“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 matplotlib plot matplotlib-basemap


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 2018-06-23
    • 2012-06-08
    • 2011-09-29
    • 2022-06-16
    相关资源
    最近更新 更多