Skip to content

Plotly Heatmap - Astuces, Trucs et Exemples

Updated on

Les heatmaps sont un outil puissant dans le domaine de la visualisation de données. Elles nous permettent de représenter des données complexes de manière visuellement intuitive, ce qui en fait un outil essentiel pour les scientifiques des données et les analystes. L'une des bibliothèques les plus populaires pour créer des heatmaps est Plotly, une bibliothèque Python offrant un degré élevé de personnalisation et d'interactivité. Dans ce guide, nous plongerons dans le monde des heatmaps de Plotly, en explorant ses fonctionnalités et en fournissant des exemples pratiques pour vous aider à créer vos propres visualisations époustouflantes.

Plotly est une bibliothèque polyvalente qui offre une interface facile à utiliser pour créer une large gamme de visualisations, y compris des heatmaps. Les heatmaps de Plotly ne sont pas seulement esthétiquement agréables, mais elles sont également interactives, permettant aux utilisateurs de zoomer, de faire défiler et de survoler pour mieux comprendre les données. Ce guide vous permettra de comprendre de manière exhaustive comment créer, personnaliser et optimiser les heatmaps de Plotly pour vos besoins en visualisation de données.

Qu'est-ce qu'une Heatmap ?

Une heatmap est une représentation graphique des données où les valeurs individuelles sont représentées par des couleurs. C'est une façon de représenter des données qui peut être particulièrement utile lorsque vous avez beaucoup de points de données et que vous êtes intéressé par des modèles ou des corrélations. Les variations de couleur dans la heatmap peuvent facilement mettre en évidence des motifs et offrir un résumé visuel rapide des informations.

Qu'est-ce qu'une Heatmap Plotly ?

Une heatmap Plotly est un type de heatmap qui peut être générée à l'aide de la bibliothèque Plotly en Python. Elle offre un éventail de fonctionnalités qui en font un outil puissant pour créer des visualisations de heatmaps complexes. Avec Plotly, vous pouvez créer des heatmaps interactives, personnalisables et facilement partageables ou intégrables dans des sites Web ou des applications.

Comment créer une heatmap Plotly ?

La création d'une heatmap Plotly implique quelques étapes clés. Tout d'abord, vous devez importer les bibliothèques nécessaires et charger vos données. Plotly Express, une interface de haut niveau pour Plotly, peut être utilisée pour créer des heatmaps en seulement quelques lignes de code. Voici un exemple de base :

import plotly.express as px
 
# En supposant que df est un DataFrame pandas
fig = px.imshow(df)
fig.show()

Dans cet exemple, px.imshow() est utilisé pour créer une heatmap à partir du DataFrame df. La heatmap résultante peut être affichée à l'aide de fig.show().

Ajouter des annotations à une heatmap Plotly

Des annotations peuvent être ajoutées à une heatmap Plotly pour fournir des informations supplémentaires sur les points de données. Cela peut être fait à l'aide de la fonction add_annotation() dans Plotly. Voici un exemple :

import plotly.graph_objects as go
 
fig = go.Figure(data=go.Heatmap(
                   z=[[1, 20, 30],
                      [20, 1, 60],
                      [30, 60, 1]]))
fig.add_annotation(text="Heatmap annotée",
                  xref="paper", yref="paper",
                  x=0.5, y=-0.15, showarrow=False)
 
fig.show()

Dans cet exemple, une annotation est ajoutée en dessous de la heatmap. Les paramètres xref et yref sont définis sur "paper", ce qui signifie que les coordonnées sont relatives à la taille de la figure, avec (0,0) correspondant en bas à gauche et (1,1) correspondant en haut à droite.

Création d'une heatmap de corrélation en Python

Une heatmap de corrélation est un type de heatmap qui est souvent utilisé pour visualiser la matrice de corrélation d'un ensemble de données. La matrice de corrélation est un tableau qui montre les coefficients de corrélation entre plusieurs variables. Chaque cellule du tableau montre la corrélation entre deux variables. Une matrice de corrélation est utilisée pour résumer les données, comme entrée dans une analyse plus avancée et comme outil de diagnostic pour les analyses avancées.

En Python, vous pouvez utiliser la bibliothèque Plotly pour créer une heatmap de corrélation. Voici un exemple :

import plotly.figure_factory as ff
import numpy as np
import pandas as pd
 
# En supposant que df est un DataFrame pandas
corr_matrix = df.corr()
heatmap = ff.create_annotated_heatmap(z=corr_matrix.values, 
                                      x=list(corr_matrix.columns), 
                                      y=list(corr_matrix.index), 
                                      annotation_text=corr_matrix.round(2).values, 
                                      showscale=True)
 
heatmap.show()

Dans cet exemple, nous calculons d'abord la matrice de corrélation du DataFrame df en utilisant la fonction corr(). Nous créons ensuite une heatmap annotée en utilisant la fonction create_annotated_heatmap() de plotly.figure_factory. Les valeurs de corrélation sont arrondies à deux décimales pour le texte de l'annotation.

Modifier l'échelle de couleurs dans une heatmap Plotly

L'échelle de couleurs d'une heatmap peut être modifiée pour mieux correspondre aux données ou aux préférences esthétiques de l'utilisateur. Plotly propose une variété d'échelles de couleurs parmi lesquelles choisir, notamment Cividis, Electric, Viridis et bien d'autres. Voici comment vous pouvez modifier l'échelle de couleurs :

import plotly.express as px
 
# En supposant que df est un DataFrame pandas
fig = px.imshow(df, colorscale='Viridis')
fig.show()

Dans cet exemple, nous définissons l'échelle de couleurs sur 'Viridis' en utilisant le paramètre colorscale dans la fonction imshow(). La heatmap résultante utilisera l'échelle de couleurs Viridis, qui va du violet foncé au jaune.

Heatmap avec Plotly Express

Plotly Express est une interface de haut niveau pour Plotly qui facilite la création de visualisations complexes avec moins de code. Elle est particulièrement utile pour créer des heatmaps. Voici un exemple de création d'une heatmap avec Plotly Express :

import plotly.express as px
 
# En supposant que df est un DataFrame pandas
fig = px.imshow(df)
fig.show()

Dans cet exemple, nous utilisons la fonction imshow() de Plotly Express pour créer une carte thermique. Cette fonction devine automatiquement les étiquettes x et y à partir du DataFrame, ce qui facilite encore plus la création d'une carte thermique.

Tableau de bord interactif avec une carte thermique de Plotly

L'une des fonctionnalités les plus puissantes de Plotly est sa capacité à créer des tableaux de bord interactifs. Ces tableaux de bord peuvent inclure plusieurs visualisations, y compris des cartes thermiques, et permettre aux utilisateurs d'interagir avec les données en temps réel. Voici un exemple de création d'un tableau de bord interactif avec une carte thermique de Plotly :

import plotly.graph_objs as go
from plotly.subplots import make_subplots
 
# En supposant que df1 et df2 sont des DataFrames pandas
fig = make_subplots(rows=1, cols=2)
 
carte_thermique1 = go.Heatmap(z=df1.values, colorscale='Viridis')
carte_thermique2 = go.Heatmap(z=df2.values, colorscale='Cividis')
 
fig.add_trace(carte_thermique1, row=1, col=1)
fig.add_trace(carte_thermique2, row=1, col=2)
 
fig.show()

Dans cet exemple, nous créons un sous-plot avec deux colonnes. Nous créons ensuite deux cartes thermiques en utilisant différents DataFrames et les ajoutons au sous-plot. Le tableau de bord résultant affichera les deux cartes thermiques côte à côte, permettant aux utilisateurs de les comparer de manière interactive.

Créer facilement une carte thermique avec PyGWalker

Une autre option pour créer une carte thermique à partir de votre DataFrame pandas sans utiliser Plotly est d'utiliser PyGWalker, une bibliothèque Python open source, où vous pouvez créer des visualisations de données en faisant glisser et déposer des variables.

Voici comment vous pouvez commencer rapidement :

Configuration de PyGWalker

Avant de commencer, assurez-vous d'installer les packages nécessaires via la ligne de commande en utilisant pip ou conda. Utilisation de pip : Pour installer PygWalker, exécutez simplement la commande suivante :

pip install pygwalker

Si vous souhaitez maintenir votre version à jour avec la dernière version, essayez :

pip install pygwalker --upgrade

Alternativement, vous pouvez également utiliser

pip install pygwalker --upgrade --pre

pour obtenir les dernières fonctionnalités et corrections de bogues.

Utilisation de Conda-forge :

Pour installer PygWalker via conda-forge, exécutez soit

conda install -c conda-forge pygwalker

ou

mamba install -c conda-forge pygwalker

Pour obtenir plus d'aide, consultez le dépôt conda-forge.

Utiliser PyGWalker

Une fois que vous avez installé PygWalker, vous pouvez commencer à l'utiliser dans Jupyter Notebook en important pandas et PygWalker.

import pandas as pd
import pygwalker as pyg

PygWalker s'intègre facilement à votre flux de travail existant. Par exemple, pour appeler Graphic Walker avec un dataframe, vous pouvez charger vos données à l'aide de pandas, puis exécuter :

df = pd.read_csv('./bike_sharing_dc.csv', parse_dates=['date'])
gwalker = pyg.walk(df)

Si vous utilisez polars (version pygwalker>=0.1.4.7a0), vous pouvez également utiliser PygWalker de cette manière :

import polars as pl
df = pl.read_csv('./bike_sharing_dc.csv', try_parse_dates=True)
gwalker = pyg.walk(df)

Pour encore plus de flexibilité, vous pouvez essayer PyGWalker en ligne via Binder (opens in a new tab), Google Colab (opens in a new tab), ou Kaggle Code (opens in a new tab).

C'est tout. Maintenant, vous avez une interface utilisateur similaire à Tableau pour analyser et visualiser des données en faisant glisser et déposer des variables. PyGWalker avec une interface utilisateur similaire à Tableau

Créer une carte thermique

Après avoir importé le DataFrame de Pandas ou Polars, vous pouvez facilement créer une carte thermique :

  1. Choisissez le bouton Type de marque dans la barre d'outils et sélectionnez 'Rectangle'.
  2. Cliquez avec le bouton gauche sur votre variable, et un menu apparaîtra. Choisissez l'option BIN.

PyGWalker est développé avec le soutien d'une communauté passionnée de data scientists et de développeurs. Consultez la page GitHub de PyGWalker (opens in a new tab) et donnez une étoile !

Foire aux questions

  1. Qu'est-ce qu'une carte thermique de Plotly ? Une carte thermique de Plotly est un type de carte thermique qui peut être générée en utilisant la bibliothèque Plotly en Python. Elle offre une gamme de fonctionnalités qui en font un outil puissant pour créer des visualisations de cartes thermiques complexes.

  2. Comment créer une carte thermique de Plotly ? Vous pouvez créer une carte thermique de Plotly en utilisant la fonction imshow() de Plotly Express ou la fonction Heatmap() de plotly.graph_objects. Vous devrez transmettre vos données à ces fonctions, et elles vous renverront une figure que vous pouvez afficher en utilisant fig.show().

  3. Puis-je ajouter des annotations à une carte thermique de Plotly ? Oui, vous pouvez ajouter des annotations à une carte thermique de Plotly en utilisant la fonction add_annotation(). Cela vous permet d'ajouter du texte ou des informations supplémentaires à votre carte thermique.