Matplotlib底图+ contourf与不规则的2d numpy数组

时间:2015-08-05 02:41:59

标签: python numpy matplotlib scipy projection

从40 km Lambert共形圆锥投影中检索到2d numpy数据阵列,这个不规则间隔坐标和数据的matplotlib /底图图看起来不正确。

值正确但pcolormesh和contourf显示不连续。使用方形网格,不连续性消失。

代码:

ID  lastDate    metric_avg  prev2   prev3   prev4   prev5   
a   Day 10      6.2          3.5     4       4.5      5 
b   Day 8       7.63           9    8.67    8.25    7.8 

生成此图片: enter image description here

1 个答案:

答案 0 :(得分:3)

我会在常规网格上插入数据。例如,您可以使用LinearTriInterpolator

所以:

import matplotlib.tri as mtri

然后替换你的行

cs = m.pcolormesh( lons, lats, data, shading='flat', latlon=True, vmin=0, vmax=100)

类似

ngrid = 50
rlons = np.repeat(np.linspace(np.min(lons), np.max(lons), ngrid),
                  ngrid).reshape(ngrid, ngrid)
rlats = np.repeat(np.linspace(np.min(lats), np.max(lats), ngrid),
                  ngrid).reshape(ngrid, ngrid).T
tli = mtri.LinearTriInterpolator(mtri.Triangulation(lons.flatten(), lats.flatten()),
                                 data.flatten())
rdata = tli(rlons, rlats)
cs = m.pcolormesh(rlons, rlats, rdata, latlon=True, vmin=0, vmax=100)

enter image description here