Meerdere lagen plotten
Een typische functionaliteit van pandas is het filteren van een dataframe: een subset van de rijen nemen op basis van een voorwaarde (die een booleaanse mask oplevert).
In deze oefening nemen we de subset van alle Afrikaanse restaurants en maken we vervolgens een plot met meerdere lagen. In zo’n plot combineren we de visualisatie van meerdere GeoDataFrames in één figuur. Om één laag toe te voegen, kun je het ax-argument van de plot()-methode van een GeoDataFrame gebruiken om er een matplotlib-axesobject aan door te geven.
De restaurantsgegevens zijn al geladen als het GeoDataFrame restaurants. GeoPandas is geïmporteerd als geopandas en matplotlib.pyplot als plt.
Deze oefening maakt deel uit van de cursus
Werken met georuimtelijke data in Python
Oefeninstructies
- Selecteer een subset van alle rijen waar de
typegelijk is aan 'African restaurant'. Noem deze subsetafrican_restaurants. - Maak een plot van alle restaurants en gebruik een uniforme grijze kleur. Vergeet niet een matplotlib-axesobject door te geven aan de
plot()-methode. - Voeg een tweede laag toe met alleen de Afrikaanse restaurants in rood. Voor standaardkleuren kun je Engelse namen gebruiken zoals 'red' en 'grey'.
- Verwijder het kader met de methode
set_axis_off()op het matplotlib-axesobject.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Load the restaurants dataset
restaurants = geopandas.read_file("paris_restaurants.geosjon")
# Take a subset of the African restaurants
african_restaurants = ____
# Make a multi-layered plot
fig, ax = plt.subplots(figsize=(10, 10))
restaurants.____
african_restaurants.____
# Remove the box, ticks and labels
ax.____
plt.show()