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

150 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` :
```{.python .numberLines}
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](assets/images/plotly-chart-bar.png)
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` :
```{.python .numberLines}
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` :
```{.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()
```
---
### 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](https://plotly.com/python/basic-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 :
```python
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 :
```python
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 :
```{.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.