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.