Files
training.python.datascience/documentation/03-d-dash-intro.md
2025-07-04 19:58:11 +02:00

3.4 KiB

Introduction à Plotly/Dash pour Python


Qu'est-ce que Dash ?

Dash est un outil associé à Plotly, permettant de générer des tableaux de bord web en Python.


Afficher des diagrammes avec Plotly

Dash peut intégrer les diagrammes générés avec Plotly facilement. Dash existe dans deux versions :

  • la version gratuite permet de créer programmatiquement ses propres tableaux de bord
  • la version Entreprise, payante propose des outils visuels avancés de personnalisation de tableau de bord

Installer Dash

Dash et Plotly sont disponibles sur le dépôt officiel PyPI. Il suffit donc d'ouvrir le terminal, en ayant activé votre environnement virtuel si nécessaire, et de taper :

pip install plotly dash

Afficher un tableau HTML contenant un DataFrame

Dash permet simplement d'afficher un tableau paginé, représentant le contenu d'un DataFrame :

from dash import Dash, html, dash_table
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/gapminder2007.csv')

# Créer une application Dash
app = Dash(__name__)

# Configurer la mise en page
app.layout = html.Div([
    html.Div(children='My First App with Data'),
    dash_table.DataTable(data=df.to_dict('records'), page_size=10)
])

# Créer un serveur web pour afficher le résultat
if __name__ == '__main__':
    app.run(debug=True)

Afficher un histogramme avec facettes

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

from plotly.subplots import make_subplots

# Supposons que nous ayons un DataFrame pandas df avec une colonne 'value' et une colonne catégorielle 'category'
fig = make_subplots(rows=1, cols=2)
for i, cat in enumerate(df['category'].unique()):
    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()

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.