Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Selecteer een subset van alle rijen waar de type gelijk is aan 'African restaurant'. Noem deze subset african_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()
Code bewerken en uitvoeren