我在这里试过这个例子,效果很好。但我如何专注于另一个国家,即只展示德国?
此示例的来源
http://scitools.org.uk/cartopy/docs/latest/examples/hurricane_katrina.html exampl of us map http://scitools.org.uk/cartopy/docs/latest/_images/hurricane_katrina_01_00.png
我已经在extend()方法上尝试了一些坐标,但我没有设法像美国地图一样。或者我是否必须修改形状文件?
答案 0 :(得分:23)
使用http://www.gadm.org/country处的全球管理区域数据集,只需下载德国数据集并使用cartopy的shapereader(与链接示例中的方式相同)。
一个简短的自我包含的例子:
import cartopy.crs as ccrs
import cartopy.io.shapereader as shpreader
import matplotlib.pyplot as plt
# Downloaded from http://biogeo.ucdavis.edu/data/gadm2/shp/DEU_adm.zip
fname = '/downloads/DEU/DEU_adm1.shp'
adm1_shapes = list(shpreader.Reader(fname).geometries())
ax = plt.axes(projection=ccrs.PlateCarree())
plt.title('Deutschland')
ax.coastlines(resolution='10m')
ax.add_geometries(adm1_shapes, ccrs.PlateCarree(),
edgecolor='black', facecolor='gray', alpha=0.5)
ax.set_extent([4, 16, 47, 56], ccrs.PlateCarree())
plt.show()
HTH
答案 1 :(得分:5)