Guide pas à pas pour créer une carte en Python en utilisant la bibliothèque Plotly
Les cartes sont utilisées depuis des siècles pour aider les gens à naviguer et à comprendre leur environnement. À l'ère du big data, les cartes sont devenues un outil essentiel pour la visualisation des données. Ils nous permettent de visualiser les données de manière intuitive, interactive et facile à comprendre. Les cartes peuvent nous aider à identifier des modèles et des relations qui pourraient être difficiles à voir dans d'autres types de visualisation.
Plotly est une puissante bibliothèque de visualisation de données pour Python qui vous permet de créer un large éventail de visualisations interactives, notamment des cartes. L'un des avantages de Plotly est qu'il est conçu pour fonctionner de manière transparente avec d'autres bibliothèques Python, telles que Pandas et NumPy. Il est ainsi facile d'importer et de manipuler des données et de créer des visualisations adaptées à vos besoins spécifiques. Si vous souhaitez apprendre Plotly, consultez notre cours Introduction à la visualisation de données avec Plotly en Python.
Dans ce tutoriel, vous apprendrez étape par étape à créer et personnaliser des cartes simples et interactives en utilisant Plotly en Python. Vous apprendrez également à créer des cartes choroplèthes, un type de carte spécifique qui utilise un code couleur pour représenter des données relatives à des zones géographiques spécifiques, telles que des pays, des États ou des villes.
Visualisations cartographiques courantes de Plotly
Commençons par examiner les différents types de cartes Plotly que vous pouvez créer.
ScatterGeo Plot
La fonction Scattergeo()
est utilisée pour créer un nuage de points sur une carte géographique. Cela signifie qu'il peut vous aider à tracer des points sur une carte où chaque point représente un emplacement géographique spécifique, comme une ville ou un point de repère.
Par exemple, si vous disposez d'un ensemble de données contenant les coordonnées de latitude et de longitude de différentes villes du monde, vous pouvez utiliser Scattergeo() pour représenter chaque ville sur une carte du monde.
Chaque point de la carte représente l'emplacement d'une ville spécifique et vous pouvez personnaliser la taille, la couleur et la forme de chaque point pour représenter différentes caractéristiques des villes, telles que la population ou la température.
Cette fonction est couramment utilisée dans les applications de visualisation et d'analyse de données, telles que les prévisions météorologiques, l'analyse démographique et la cartographie commerciale. Il peut vous aider à visualiser les données de manière plus significative en montrant la distribution spatiale de vos tableaux et en mettant en évidence des schémas ou des tendances qui ne seraient pas visibles dans un tableau ou un graphique.
Exemple de création d'un graphique ScatterGeo dans Plotly
import plotly.express as px
import pandas as pd
# Import data from USGS
data = pd.read_csv('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.csv')
# Drop rows with missing or invalid values in the 'mag' column
data = data.dropna(subset=['mag'])
data = data[data.mag >= 0]
# Create scatter map
fig = px.scatter_geo(data, lat='latitude', lon='longitude', color='mag',
hover_name='place', #size='mag',
title='Earthquakes Around the World')
fig.show()
Sortie:
Cet exemple de code utilise Plotly
pour créer une carte géographique interactive de la localisation des tremblements de terre dans le monde. Il importe les données sur les tremblements de terre du site web de l'USGS dans un DataFrame pandas et supprime toutes les lignes contenant des valeurs de magnitude manquantes ou invalides.
Le code utilise ensuite la méthode px.scatter_geo
pour créer une carte de dispersion qui montre les emplacements des tremblements de terre, les tremblements de terre les plus importants étant représentés par des couleurs plus foncées. Le paramètre hover_name
est défini pour afficher le nom de l'emplacement lorsque vous survolez un marqueur.
Enfin, le code définit le titre de la carte et l'affiche à l'aide de fig.show()
. Ce type de carte peut être utilisé pour explorer les schémas des tremblements de terre et se faire une idée de l'activité sismique mondiale.
Personnalisation des graphiques de base
1. Modifiez l'échelle des couleurs: Le paramètre color
de la fonction scatter_geo
associe la magnitude des tremblements de terre à la couleur des marqueurs. Vous pouvez personnaliser l'échelle de couleurs pour mieux représenter les valeurs d'amplitude.
fig = px.scatter_geo(data, lat='latitude', lon='longitude', color='mag',
hover_name='place', color_continuous_scale='reds',
title='Earthquakes Around the World')
fig.show()
Sortie:
2. Modifiez la taille du marqueur: Vous pouvez personnaliser la taille des marqueurs pour mieux représenter la magnitude des tremblements de terre.
fig = px.scatter_geo(data, lat='latitude', lon='longitude', color='mag',
hover_name='place', size='mag', size_max=10,
title='Earthquakes Around the World')
fig.show()
Sortie:
3. Modifiez la couleur d'arrière-plan: Vous pouvez modifier la couleur d'arrière-plan de la carte pour la rendre plus attrayante.
fig = px.scatter_geo(data, lat='latitude', lon='longitude', color='mag',
hover_name='place', color_continuous_scale='reds',
title='Earthquakes Around the World')
fig.update_layout(geo=dict(bgcolor='black'))
fig.show()
Si vous souhaitez en savoir plus sur les possibilités de visualisation et de personnalisation avancée dans Plotly, consultez notre Python Plotly Express Tutorial : Débloquez de superbes visualisations par Bekhruz Tuychiev.
Enregistrement de la carte en tant que fichier HTML interactif
Vous pouvez enregistrer une figure Plotly en tant que fichier HTML à l'aide de la fonction write_html() du module plotly.io
. En voici un exemple :
import plotly.io as pio
pio.write_html(fig, file='earthquakes.html', auto_open=True)
Cartes choroplèthes
Une carte choroplèthe est un type de carte qui utilise différentes couleurs ou nuances pour représenter les valeurs des données dans différentes régions, telles que les pays, les États ou les provinces. Dans une carte choroplèthe, chaque région est colorée en fonction de la valeur d'une variable spécifique, telle que la population, le revenu ou la température.
Les cartes choroplèthes peuvent être utilisées dans une variété d'applications, telles que la cartographie électorale, l'analyse démographique et la visualisation de données géographiques. Ils peuvent vous aider à déceler des schémas et des tendances dans vos données qui ne seraient pas apparents dans un tableau ou un graphique et constituent un moyen efficace de communiquer des informations à votre public.
Bien que les fonctions scatter_geo
et Choropleth
de Plotly soient toutes deux utilisées pour créer des visualisations géographiques, elles sont différentes en termes de types de données pour lesquelles elles sont le mieux adaptées et de la manière dont elles représentent ces données sur une carte. La fonction scatter_geo
est surtout utilisée pour tracer des points de données individuels sur une carte, où chaque point représente un emplacement géographique spécifique, tel qu'une ville, un point de repère ou un tremblement de terre.
En revanche, la fonction Choropleth
est utilisée pour visualiser des données agrégées ou moyennées par région, telles que des pays, des États ou des provinces. Chaque région est ombrée ou colorée en fonction de la valeur d'une variable spécifique, telle que la densité de population, le revenu moyen ou le taux de chômage.
Exemple de création d'une carte choroplèthe dans Plotly
import plotly.express as px
import pandas as pd
# Import data from GitHub
data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder_with_codes.csv')
# Create basic choropleth map
fig = px.choropleth(data, locations='iso_alpha', color='gdpPercap', hover_name='country',
projection='natural earth', title='GDP per Capita by Country')
fig.show()
Sortie:
Remarquez que nous avons un cadre temporel dans notre DataFrame year
. Il va de 1952 à 2007. Nous pouvons utiliser cette dimension pour animer la visualisation. Voir l'exemple ci-dessous.
Exemple d'ensemble de données:
import plotly.express as px
import pandas as pd
# Import data from GitHub
data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder_with_codes.csv')
# Create basic choropleth map
fig = px.choropleth(data, locations='iso_alpha', color='gdpPercap', hover_name='country',
projection='natural earth', animation_frame='year',
title='GDP per Capita by Country')
fig.show()
Sortie:
Conclusion
Les cartes sont essentielles pour la visualisation des données à l'ère du big data. Plotly est une puissante bibliothèque de visualisation de données pour Python qui vous permet de créer une gamme de cartes interactives. Avec Scattergeo
, vous pouvez tracer des points de données correspondant à des emplacements géographiques spécifiques, tandis que Choropleth
est idéal pour visualiser des données agrégées à travers différentes dimensions telles que la région, la ville, le pays, etc.
Si vous souhaitez explorer des options de personnalisation plus avancées dans Python ou en savoir plus sur ses possibilités, consultez l' aide-mémoire Python Plotly Express, qui fournit une référence rapide aux fonctions et options de Python les plus couramment utilisées.