python - 放大 cartopy 地图并添加海洋特征会将整个地块变为蓝色?
问题描述
但是,由于某种原因,我有一个欧洲的情节,当我包含ax.add_feature(cartopy.feature.OCEAN)
它时,它会将整个情节变成蓝色。我不知道如何解决这个问题,任何帮助表示赞赏!
这仅在我更改范围以放大欧洲时发生。
plt.figure(figsize=(9, 9))
ax = plt.axes(projection=cartopy.crs.TransverseMercator(32))
ax.add_feature(cartopy.feature.BORDERS, linestyle='-', alpha=1)
ax.coastlines(resolution='110m')
ax.gridlines()
ax.set_extent((-7.5, 50, 34, 55), cartopy.crs.PlateCarree())
ax.add_feature(cartopy.feature.OCEAN)
plt.show()
解决方案
cartopy.feature.OCEAN
是更复杂NaturalEarthFeature
功能的简单版本,使用起来更安全。这里有几行代码可以用来替换麻烦的部分。
代替
ax.add_feature(cartopy.feature.OCEAN)
和
choice = 1
if choice==1:
# this solves the problem
ocean110 = cartopy.feature.NaturalEarthFeature('physical', 'ocean', \
scale='110m', edgecolor='none', facecolor=cartopy.feature.COLORS['water'])
ax.add_feature(ocean110)
else:
# this (sometimes) causes the ocean spill all over
ax.add_feature(cartopy.feature.OCEAN)
这允许您设置choice=1 或0 并运行以检查绘图。
如果choice=1,输出将是:
推荐阅读
- mysql - 如何修复以下 MYSQL 语句?
- javascript - 在第二次尝试时让 Json 获取数据
- ios - TableView复制图像?
- data-structures - 如何防止二叉搜索树变大?
- ubuntu - 我的 Amazon 实例无法访问 Nginx
- java - 从 URL 获取值(手动输入地址栏)使用输入隐藏的 html
- reactjs - 将 Gatsby JS 站点部署到 Netlify 时出错 - “错误运行命令:构建脚本返回非零退出代码”
- c# - 当前上下文中不存在名称“AvaloniaXamlLoaderPortableXaml”
- google-groups - 从 Google 群组下载消息
- python - sys.stdout.writelines("hello") 和 sys.stdout.write("hello")