我使用不同的底图投影有一个奇怪的行为。
我想在世界地图上绘制的测量网格的形状是 [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”,则生成的插值数据与其原点不同。
有没有办法按原样绘制测量网格但相对于不断变化的投影?