Python底图赤平极射图

2024-09-26 18:17:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在赤平极图上显示一些值(在本例中是南极(spstere)。如果我把它们显示在圆柱图上(cyl),一切都很好:

m = Basemap(projection='cyl',llcrnrlon=-180,llcrnrlat=-90,urcrnrlon=180,urcrnrlat=90,resolution='i') 
CS = m.scatter(lon2,lat2,c=BT2,edgecolors='none',s=sz,cmap='gray')

现在我想要南极赤平极图上相同的值,但我无法使其工作:

^{pr2}$

无论我做什么,我只画出大陆,但没有数据。在


Tags: csbasemapresolutionprojectionscatter本例urcrnrlaturcrnrlon
3条回答

所以我想我自己已经找到了答案。您需要做的是将柱面投影的lat/lon坐标转换为属于赤平投影的x/y坐标。这很简单,在如下定义基础地图之后:

m = Basemap(projection='spstere',boundinglat=-10,lon_0=180,resolution='c')

转换如下:

^{pr2}$

最后用x/y坐标绘制地图,例如:

CS = m.scatter(x,y,c=BT2,edgecolors='none',s=sz,cmap='gray')

这对我有用:)

您似乎已经知道了,您需要将x和y坐标转换为“map”坐标(可以在http://matplotlib.github.com/basemap/users/mapcoords.html找到相应的文档):

spstereo = Basemap(projection='spstere',boundinglat=-10,lon_0=180,resolution='c')
x, y = spstereo(lons, lats)
spstereo.scatter(x, y)

只需添加latlon关键字

m = Basemap(projection='spstere',boundinglat=-10,lon_0=180,resolution='c')
CS = m.scatter(lon2,lat2,c=BT2,s=sz,cmap='gray', latlon=True)

documentation

^{bq}$

相关问题 更多 >

    热门问题