我正在使用底图的pcolormesh创建温度数据图。唯一的挑战是pcolormesh需要点间距良好的网格,以便在点之间正确插值。这意味着,如果您有一个形状不规则的对象(例如国家或州),最终将创建一个网格,该网格超出对象的边缘,该边缘将是矩形。
例如,以下是在加利福尼亚的shapefile上映射的几个测量站收集的温度数据:
#Shapefile info for California
map.readshapefile('tl_2016_06_cousub/tl_2016_06_cousub', 'comarques')
#initialize map
map = Basemap(projection='lcc', lat_0=38.3004, lon_0=-119.4179, width=1300000, height=1300000)
#lon2 and lat2 are the appropriate np.meshgrids
map.pcolormesh(lon2, lat2, z, latlon=True, cmap='RdBu_r')
plt.clim(dec_31[1:].min(),dec_31[1:].max())
plt.colorbar()
cs = map.contourf(lon2,lat2,z,range(0, 3600, 200))
x, y = map(stat_lon,stat_lat)
map.scatter(x, y, marker='D',color='m')
plt.show()
这将创建如下内容:https://imgur.com/a/n1EqUKz
因此,我想通过shapefile约束pcolormesh的显示,或者遮盖shapefile之外的所有内容,以便最终得到整个加利福尼亚的温度图。