Учитывая способность картопий рисовать шейп-файлы, этот вопрос сводится к тому, «где я могу найти контуры округа США?».
Аналогичный вопрос задавался на форуме Natural Earth по адресу http://www.naturalearthdata.com/forums/topic/u-s-county-shape-file/.. Он указывал на местоположение в http://nationalatlas.gov/mld/countyp.html,, которое, к сожалению, имело небольшую порцию гниения. Быстрый Google предлагает это теперь можно найти по адресу:
https://nationalmap.gov/small_scale/atlasftp.html?openChapters=chpbound#chpbound
Я решил скачать один из этих шейп-файлов округа:
https://prd -tnm.s3.amazonaws.com / StagedProducts / Мелкая / данные / Границы / countyl010g_shp_nt00964.tar.gz
Имея это в виду, я использовал средство чтения форм cartopy, чтобы вывести геометрию, и создал специальную функцию, которую затем можно добавить к осям:
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import cartopy.io.shapereader as shpreader
import matplotlib.pyplot as plt
reader = shpreader.Reader('countyl010g.shp')
counties = list(reader.geometries())
COUNTIES = cfeature.ShapelyFeature(counties, ccrs.PlateCarree())
plt.figure(figsize=(10, 6))
ax = plt.axes(projection=ccrs.PlateCarree())
ax.add_feature(cfeature.LAND.with_scale('50m'))
ax.add_feature(cfeature.OCEAN.with_scale('50m'))
ax.add_feature(cfeature.LAKES.with_scale('50m'))
ax.add_feature(COUNTIES, facecolor='none', edgecolor='gray')
ax.coastlines('50m')
ax.set_extent([-83, -65, 33, 44])
plt.show()
Это получено из примера на https://scitools.org.uk/cartopy/docs/v0.14/examples/feature_creation.html, который строит NaturalEarthFeature
, а не ShapelyFeature
, но в остальном принцип почти такой же.
Надеюсь, что это полезно для вас.