Tracer plusieurs couches
Une autre fonctionnalité typique de pandas est le filtrage d'un dataframe : prendre un sous-ensemble de lignes selon une condition (qui génère un masque booléen).
Dans cet exercice, nous allons extraire le sous-ensemble de tous les restaurants africains, puis créer un tracé à plusieurs couches. Dans ce type de tracé, on combine la visualisation de plusieurs GeoDataFrame sur une seule figure. Pour ajouter une couche, on peut utiliser le paramètre ax de la méthode plot() d'un GeoDataFrame pour lui transmettre un objet d'axes matplotlib.
Les données des restaurants sont déjà chargées dans le GeoDataFrame restaurants. GeoPandas est importé sous geopandas et matplotlib.pyplot sous plt.
Cette activité fait partie du cours
Travailler avec des données géospatiales en Python
Instructions de l’exercice
- Sélectionnez le sous-ensemble de toutes les lignes où
typevaut 'African restaurant'. Nommez ce sous-ensembleafrican_restaurants. - Créez un tracé de tous les restaurants en utilisant une couleur grise uniforme. N'oubliez pas de transmettre un objet d'axes matplotlib à la méthode
plot(). - Ajoutez une deuxième couche ne contenant que les restaurants africains en rouge. Pour les couleurs usuelles, vous pouvez utiliser les noms en anglais comme 'red' et 'grey'.
- Retirez le cadre en utilisant la méthode
set_axis_off()sur l'objet d'axes matplotlib.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()