## 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](https://pypi.org/). Il suffit donc d'ouvrir le terminal, _en ayant activé votre environnement virtuel si nécessaire_, et de taper : ```bash 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 : ```{.python .numberLines} 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` : ```{.python .numberLines} 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` : ```{.python .numberLines} 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 : ```{.python .numberLines} 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 : ```{.python .numberLines} 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.