python - Cartopy 中正交投影的 Shapefile 绘图问题

标签 python matplotlib cartopy

相关于this question ,我正在尝试使用 cartopy 在特定国家/地区进行着色。复制链接问题中的示例效果很好,但在使用正交投影时会失败。包含 MWE 和图像,正如人们所看到的,德国最终并没有被着色。

(Shapefile数据可以从here获取。)

import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.io.shapereader as shpreader

_proj = ccrs.Orthographic(0,0)
#_proj = ccrs.PlateCarree()

_deu = list(shpreader.Reader("shapefiles/DEU_adm_shp/DEU_adm0.shp").geometries())

ax = plt.axes(projection=_proj)
ax.coastlines(resolution='10m', color='k', linewidth=1)

ax.add_geometries(_deu, _proj, edgecolor='black', facecolor='gray', alpha=0.5, zorder=10)

plt.show()

enter image description here

最佳答案

您需要在正确的 CRS 中添加几何图形,这肯定不是正交的。 IIRC 它实际上是盘子方巾。试试这个:

ax.add_geometries(_deu, ccrs.PlateCarree(), edgecolor='black',
                  facecolor='gray', alpha=0.5, zorder=10)

关于python - Cartopy 中正交投影的 Shapefile 绘图问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41058716/

相关文章:

python - 为什么 Cartopy 上的海洋填充功能不适用于我的 map ?

Python极坐标图;给定数据集的每个点使用不同的颜色

python - 如何使用 matplotlib 沿着指定半径的点 (x1,y1) 和 (x2,y2) 的长度绘制圆柱体?

python - 在图中容纳参数值的最佳方式

python - 用 cartopy : ValueError: invalid transform: Spherical contouring is not supported 轮廓

python - 检查列表理解中列表的长度(基于列表理解中元素的计数迭代)

python - 使用 OpenCV 进行相机校准 - 如何调整棋盘正方形的大小?

python - 如果与线程 Flask 应用程序一起运行,grpc 服务器会立即退出

python - 我如何将 xaxis_date() 与 barh() 一起使用?