gpt4 book ai didi

python - 导入的 shapefile 之外的 mask 区域( basemap /matplotlib)

转载 作者:太空狗 更新时间:2023-10-29 21:56:52 24 4
gpt4 key购买 nike

我正在通过 Matplotlib 在美国和加拿大东海岸的 basemap 上绘制数据。除了基础层(填充等高线图)之外,我还使用 Matplotlib 的 readshapefile 工具将此焦点区域的形状文件覆盖在数据之上。

我想知道如何屏蔽 shapefile 之外的所有网格化数据。我显然可以通过 Matplotlib 执行 maskocean 命令,但我仍然会留下圣劳伦斯以西的填充轮廓。现在有人怎么做吗?我在网上搜索时运气不佳。

def make_map(lon,lat,param):
fig, ax = plt.subplots()
ax.axis('off')
x1 = -83.
x2 = -57.
y1 = 37.
y2 = 50.
projection='merc'
resolution='h'
m = Basemap(projection=projection, llcrnrlat=y1, urcrnrlat=y2, llcrnrlon=x1,
urcrnrlon=x2, resolution=resolution)
x,y = m((lon-360.),lat)
m.ax = ax
my_cmap = cm.get_cmap('coolwarm')
pp = m.contourf(x, y, param, 30, cmap=my_cmap, extend='both')
m.drawmapscale(-67, 39.5, -70, 43.5, 500, fontsize=8, barstyle='fancy')
return fig, m, x, y

def drawstates(ax, shapefile='../StateProv_UTMrp'):
shp = m.readshapefile(shapefile, 'states',zorder = 1, drawbounds=True)
for nshape, seg in enumerate(m.states):
poly = Polygon(seg, facecolor='w',alpha=0.0, edgecolor='k')
ax.add_patch(poly)

fig, m, x, y = make_map(lon, lat, param)
drawstates(m.ax)

最佳答案

我想我刚找到的这篇文章可以给你一些帮助。但我不确定这是一个完整的答案。

http://basemaptutorial.readthedocs.org/en/latest/clip.html

关于python - 导入的 shapefile 之外的 mask 区域( basemap /matplotlib),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30282601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com