我有一个二维卫星数据阵列,以及两个相应的二维阵列,给出每个像素的纬度和经度。
数据数组是一个屏蔽数组。
当我使用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)
答案 0 :(得分:1)
以下是一些初步的故障排除提示。
数据阵列&#34; wind&#34;变成了数据&#34;。是&#34;数据&#34;真的蒙面了?这两者之间发生了什么?一些更多的代码将是有用的。
dataGridded = griddata(lon.ravel(),lat.ravel(),XXXX.ravel(),latGrid,lonGrid, interp='linear')