Verwenden von Python3 und Cartopy mit folgendem Code:
import matplotlib.pyplot as plt
import cartopy
import cartopy.io.shapereader as shpreader
import cartopy.crs as ccrs
ax = plt.axes(projection=ccrs.PlateCarree())
ax.add_feature(cartopy.feature.LAND)
ax.add_feature(cartopy.feature.OCEAN)
ax.add_feature(cartopy.feature.COASTLINE)
ax.add_feature(cartopy.feature.BORDERS, linestyle='-', alpha=.5)
ax.add_feature(cartopy.feature.LAKES, alpha=0.95)
ax.add_feature(cartopy.feature.RIVERS)
ax.set_extent([-150, 60, -25, 60])
shpfilename = shpreader.natural_earth(resolution='110m',
category='cultural',
name='admin_0_countries')
reader = shpreader.Reader(shpfilename)
countries = reader.records()
for country in countries:
if country.attributes['SOVEREIGNT'] == "Bulgaria":
ax.add_geometries(country.geometry, ccrs.PlateCarree(), facecolor=(0, 1, 0), label = "A")
else:
ax.add_geometries(country.geometry, ccrs.PlateCarree(), facecolor=(1, 1, 1), label = country.attributes['SOVEREIGNT'])
plt.rcParams["figure.figsize"] = (50,50)
plt.show()
Ich verstehe das:
Frage:
Was soll ich schreiben, um ein rotes " A " über Bulgarien (oder einem anderen Land, auf das ich mich beziehe country.attributes['SOVEREIGNT']
) zu bekommen? Derzeit wird das Etikett überhaupt nicht angezeigt und ich bin nicht sicher, wie ich die Schriftart des Etiketts ändern soll. Es scheint also, dass das Folgende nur die Farbe ändert, ohne das Etikett hinzuzufügen:
ax.add_geometries(country.geometry, ccrs.PlateCarree(), facecolor=(0, 1, 0), label = "A")
country.attributes['NAME_EN'] == "France"
. Was "Singapur" und "Lichtenstein" betrifft, sollte ich versuchen, manuelle Koordinaten anzugeben?