我试着只孵化那些我有统计意义的结果的区域。如何使用Basemap和pcolormesh来实现这一点?在
plt.figure(figsize=(12,12))
lons = iris_cube.coord('longitude').points
lats = iris_cube.coord('latitude').points
m = Basemap(llcrnrlon=lons[0], llcrnrlat=lats[0], urcrnrlon=lons[-1], urcrnrlat=lats[-1], resolution='l')
lon, lat = np.meshgrid(lons, lats)
plt.subplot(111)
cs = m.pcolormesh(lon, lat, significant_data, cmap=cmap, norm=norm, hatch='/')
似乎
pcolormesh
不支持图案填充(请参见https://github.com/matplotlib/matplotlib/issues/3058)。相反,建议使用pcolor
,从this开始的示例如下所示:其中使用掩码数组获取大于0.3的z值,并使用
pcolor
对这些值进行阴影处理。在为了避免在顶部绘制另一种颜色(因此只能进行阴影处理),我将alpha设置为0。感觉有点像黑客。另一种方法是使用“面片”并将其指定给所需的区域。请看这个例子Python: Leave Numpy NaN values from matplotlib heatmap and its legend。对于底图等,这可能比仅仅选择带有
pcolor
的区域要复杂得多。在相关问题 更多 >
编程相关推荐