Files
training.python.datascience/documentation/old-03-c-plotly-intro.md
Steve Kossouho d06fd5414d Rename documentation files
Removed new- prefix.
Added old- prefix to old files.
2025-07-12 17:03:38 +02:00

5.2 KiB

Introduction à Plotly pour Python


Qu'est-ce que Plotly ?

Plotly est une bibliothèque open-source de visualisation de données en Python. Elle permet de produire des graphiques interactifs de haute qualité directement depuis Python, et supporte de nombreux types de graphiques, y compris des graphiques 3D et des cartes géographiques.


Afficher des diagrammes avec Plotly

Plotly propose une variété de diagrammes pour visualiser les données. Voici quelques exemples sur comment afficher des nuages de points, des histogrammes et des histogrammes en barres avec facettes.


Afficher un nuage de points

Pour créer un nuage de points avec Plotly, vous pouvez utiliser la classe Scatter de plotly.graph_objects :

import plotly.graph_objects as go

# Supposons que nous ayons deux listes x et y
fig = go.Figure(data=go.Scatter(x=x, y=y, mode='markers'))
fig.show()

L'utilisation classique de Plotly consiste à créer un objet de type Figure représentant un graphique, puis d'y associer un type de diagramme. L'affichage du graphique via la méthode show() lance un serveur web simple et le navigateur par défaut de votre système pour afficher le contenu.


Exemple de diagramme de base Plotly

Notez que ce genre de diagramme est rendu interactif graĉe aux technologies du web; vous pouvez ainsi zoomer ou passer votre souris sur des sections pour observer des boîtes descriptives des données.


Afficher un histogramme avec facettes

Pour créer un histogramme avec facettes avec Plotly, vous pouvez utiliser la classe Histogram et préparer un graphique à multiples diagrammes via make_subplots :

from plotly.subplots import make_subplots

# Nous avons un DataFrame df avec une colonne 'value' et une colonne 'category'
fig = make_subplots(rows=1, cols=2)
# Parcourir toutes les catégories différentes de la colonne catégorie
for i, cat in enumerate(df['category'].unique()):
    # Et ajouter un diagramme en barres pour les valeurs de la catégorie
    fig.add_trace(go.Histogram(x=df[df['category']==cat]['value']), row=1, col=i+1)
fig.show()

Afficher un histogramme en barres avec facettes

Pour créer un histogramme en barres avec facettes avec Plotly, vous pouvez utiliser la classe Bar et la fonction subplot :

from plotly.subplots import make_subplots

 Supposons que nous ayons un DataFrame pandas df avec une colonne 'value' et deux colonnes catégorielles 'category1' et 'category2'
fig = make_subplots(rows=1, cols=2)
for i, cat in enumerate(df['category1'].unique()):
    fig.add_trace(go.Bar(x=df[(df['category1']==cat)]['category2'], y=df[(df['category1']==cat)]['value']), row=1, col=i+1)
fig.show()

Types de graphiques réalisables avec Plotly

Les quelques exemples précédents ont permis de montrer la simplicité d'utilisation de Ploty/Dash pour une variété de diagrammes, mais selon vos besoins, il en existe de nombreux autres, décrits dans la page officielle suivante :

Plotly Charts


La majorité des diagrammes réalisables avec Plotly sont importables en tant que classes dans le package plotly.express.


Diagramme en barres simple

Si vous avez un DataFrame simple avec deux colonnes, par exemple une colonne d'identifiants et une colonne de valeurs associées, vous pouvez très simplement afficher un diagramme en barres avec Plotly :

import pandas as pd
from plotly.express import bar

df = pd.DataFrame(data={"label": ["Citron", "Pomme", "Mangue"], "price": [1.99, 3.97, 6.8]})
plot = bar(df, x="label", y="price")
plot.show()

Diagramme en secteurs groupés

Si vos données contiennent des informations qui peuvent être regroupées en sous-catégories (par ex. vous avez des ventes par ville, et plusieurs villes peuvent appartenir au même pays), un diagramme en secteurs à plusieurs anneaux peut vous permettre d'explorer vos données de façon intéressante :

import pandas as pd
from plotly.express import sunburst

df = pd.DataFrame(data={
    "country": ["France", "France", "Spain", "Spain"], 
    "city": ["Montpellier", "Bordeaux", "Madrid", "Valencia"],
    "sales": [150_000, 127_000, 97_200, 137_250]
})
plot = sunburst(df, path=["country", "city"], values="sales")
plot.show()

Configurer le thème des graphiques Plotly

Avec Plotly, vous pouvez personnaliser l'apparence de vos graphiques en utilisant des thèmes.


Styles des graphiques

Plotly offre plusieurs thèmes prédéfinis que vous pouvez appliquer à vos graphiques :

import plotly.io as pio

pio.templates.default = "plotly_dark" # Exemple avec le thème "plotly_dark"

Définir des palettes de couleurs

Vous pouvez également personnaliser les couleurs utilisées dans vos graphiques avec Plotly :

fig = go.Figure(
    data=go.Scatter(x=x, y=y, mode='markers', marker=dict(color='rgba(152, 0, 0, .8)'))
)
fig.show()

Dans cet exemple, nous avons utilisé la propriété marker pour changer la couleur des points dans le nuage de points.