Tracer plusieurs couches
Une fonctionnalité typique de pandas est le filtrage d’un dataframe : extraire un sous-ensemble de lignes en fonction d’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 réaliser un tracé avec plusieurs couches. Dans ce type de tracé, nous combinons la visualisation de plusieurs GeoDataFrame sur une seule figure. Pour ajouter une couche, nous pouvons utiliser le paramètre ax de la méthode plot() d’un GeoDataFrame pour lui passer un objet axes de matplotlib.
Les données des restaurants sont déjà chargées dans le GeoDataFrame restaurants. GeoPandas est importé sous le nom geopandas et matplotlib.pyplot sous le nom plt.
Cet exercice fait partie du cours
Travailler avec des données géospatiales en Python
Instructions
- Sélectionnez le sous-ensemble de toutes les lignes où
typevaut 'African restaurant'. Nommez ce sous-ensembleafrican_restaurants. - Tracez tous les restaurants en utilisant une couleur grise uniforme. N’oubliez pas de passer un objet 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 anglais comme 'red' et 'grey'.
- Supprimez le cadre en utilisant la méthode
set_axis_off()sur l’objet axes matplotlib.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()