【发布时间】:2013-08-12 11:40:19
【问题描述】:
我在使用不同的底图投影时有一种奇怪的行为。
我想在世界地图上绘制的测量网格的形状是 [181,83]。 这意味着我有每个 2°/2° 点的值,范围从 -180° - 180° 经度和 -82° - 82° 纬度。
from mpl_toolkits.basemap import Basemap
import numpy as np
measurementgrid = np.random.random_sample((181,83))
m = Basemap(projection='cyl',llcrnrlon=-180, llcrnrlat=-82, urcrnrlon=180, urcrnrlat=82, resolution='l')
m.drawcoastlines()
m.drawparallels(np.arange(-90,90,30),labels=[1,0,0,0])
m.drawmeridians(np.arange(-180,180,45), labels=[0,0,0,1])
data, x, y = m.transform_scalar(measurementgrid.T, lons=np.arange(-180,182,2), lats=np.arange(-82,84,2), nx = 181, ny = 83, returnxy=True, order=0)
m.imshow(data, origin='lower', interpolation='none')
使用圆柱投影,返回的数据网格等于测量网格,一切都很好。如果我将投影更改为“mill”,则生成的插值数据与其原点不同。
有没有办法按原样绘制测量网格但相对于不断变化的投影?
【问题讨论】:
-
您的示例代码没有显示您从哪里获得
measurementgrid,(它也没有显示import numpy as np,但我设法猜到了! -
我可以建议发布您的修复以帮助遇到类似问题的其他人!
-
我没有解决这个问题,但我根据你的建议编辑了我的帖子。所以问题依然存在!
标签: python matplotlib matplotlib-basemap