我有一个卫星数据的二维数组,以及两个对应的二维数组,给出每个像素的纬度和经度。
数据数组是一个掩码数组。
当我使用 pcolormesh 绘制它时,它看起来像这样:
m.pcolormesh(lon, lat, data)
我正在尝试将这些数据网格化到 0.25x0.25 度网格上。
lonGrid = arange(0, 360, 0.25)
latGrid = arange(-90, 90 0.25)
dataGridded = griddata(lon.ravel(),lat.ravel(),data.ravel(),latGrid,lonGrid, interp='linear')
m.pcolormesh(lonGrid, latGrid, dataGridded)
似乎此错误与pcolormesh
填充屏蔽值之间的空间有关。但我不确定如何解决这个问题。
谢谢
编辑:
我能够使用 scipy 版本的 griddata 来让它工作......但它的速度要慢得多,而且语法也更笨拙。我仍然希望能得到一些帮助,让上面的 mpl(?) 版本正常工作
from scipy.interpolate import griddata as griddata2
lonGrid,latGrid = meshgrid(lonGrid,latGrid)
dataGrid = griddata2((lon.ravel(),lat.ravel()),data.ravel(),(lonGrid,latGrid), method = 'linear')
dataGrid = ma.masked_where((dataGrid < 0) | isnan(dataGrid), dataGrid)
m.pcolormesh(lonGrid, latGrid, dataGridded)