Ajout de carte choroplèthe
La bibliothèque Folium, construite sur Leaflet.js, offre la possibilité de créer des cartes interactives puissantes. Parmi ses fonctionnalités les plus informatives figure la carte choroplèthe, qui permet de représenter des données statistiques à l’aide de zones colorées selon leur intensité ou leur valeur.
Une carte choroplèthe (ou choropleth map) est particulièrement utile pour visualiser la distribution spatiale de variables telles que la population, le revenu moyen, le taux de chômage, ou tout autre indicateur lié à un territoire. Elle repose sur une couche géographique au format GeoJSON qui délimite les zones (régions, départements, pays, etc.) et une source de données associée qui attribue une valeur à chaque zone.
Grâce à Folium, il est possible de lier ces données à la géographie via des identifiants communs, et d’ajuster dynamiquement la palette de couleurs pour représenter visuellement l’intensité des valeurs. Cela permet de produire des cartes compréhensibles, esthétiques et très utiles pour l’analyse spatiale.
Fonctions :
-
folium.Choropleth()
La fonction folium.Choropleth() est utilisée pour créer une carte choroplèthe (ou carte de densité) dans une carte interactive Folium. Elle permet de visualiser des données géospatiales sous forme de couleurs variant en fonction des valeurs associées à chaque zone géographique (par exemple, des régions, des pays, ou des départements).
Importation :
import folium
Attributs :
Paramètre Type Description Valeur par défaut geo_data
dict Données géospatiales sous forme de GeoJSON (par exemple, les frontières des pays ou des départements). None
data
pandas.Series Série contenant les valeurs numériques à visualiser sur la carte (par exemple, population, densité, etc.). None
columns
list Liste des noms de colonnes du dataframe pour les valeurs associées aux zones géographiques. None
key_on
str Clé utilisée pour associer les valeurs aux zones géographiques (par exemple, 'feature.id' ou 'properties.name'). None
fill_color
str Couleur de remplissage utilisée pour la choroplèthe (par exemple, 'YlGn', 'BuPu'). 'YlGnBu'
fill_opacity
float Opacité de la couleur de remplissage (de 0 à 1). 0.6
line_opacity
float Opacité des bordures des zones géographiques (de 0 à 1). 0.2
Exemple de code :
import folium import pandas as pd # Exemple de données géospatiales (GeoJSON) geo_data = 'https://raw.githubusercontent.com/codeforamerica/click_that_hood/master/public/data/france-regions.geojson' # Exemple de données numériques à associer aux régions data = pd.Series({ 'Île-de-France': 12, 'Provence-Alpes-Côte d\'Azur': 7, 'Auvergne-Rhône-Alpes': 8, 'Normandie': 6, 'Bretagne': 5, # Ajoutez plus de régions et de valeurs ici }) # Création de la carte centrée sur la France m = folium.Map(location=[46.603354, 1.888334], zoom_start=6) # Création de la carte choroplèthe choropleth = folium.Choropleth( geo_data=geo_data, data=data, columns=['Région', 'Valeur'], # Assurez-vous que vos données sont structurées de manière appropriée key_on='feature.properties.nom', # Associe les valeurs aux régions géographiques fill_color='YlGnBu', fill_opacity=0.6, line_opacity=0.2, legend_name='Valeur des régions' ).add_to(m) # Affichage de la carte m
Explication du code :
-
Données géospatiales (GeoJSON) : Les données géospatiales sont chargées à partir d'un fichier GeoJSON contenant les frontières des régions françaises.
-
Données numériques : Une série de valeurs numériques (ici des chiffres fictifs représentant des données par région) est associée à chaque zone géographique. Ces valeurs seront utilisées pour colorier la carte.
-
Création de la carte choroplèthe : La fonction
folium.Choropleth()
est utilisée pour appliquer les couleurs sur la carte en fonction des valeurs associées à chaque région. Le paramètrekey_on
permet de lier les données géographiques aux valeurs dans le jeu de données, tandis quefill_color
détermine les couleurs utilisées sur la carte. -
Affichage de la carte : La carte interactive est affichée.
Remarque importante :
-
Assurez-vous que la clé utilisée dans
key_on
correspond bien aux propriétés des objets géospatiaux dans votre fichier GeoJSON. -
Les données doivent être fournies sous forme de série Pandas où l'index correspond à la clé utilisée dans le fichier GeoJSON.
-
Vous pouvez personnaliser davantage la carte choroplèthe en jouant avec les paramètres comme
fill_color
etline_opacity
pour affiner l'apparence.
-