2025.46 changes

This commit is contained in:
2025-11-15 18:20:01 +01:00
parent c45c6e9f2d
commit cb516edca4
8 changed files with 132 additions and 32 deletions

View File

@@ -18,7 +18,7 @@ propre à la publication.
## Comment fonctionne Plotly ?
Plotly est une bibliothèque Python compatible avec les `DataFrame`{.python} Pandas, qui permet de créer des graphiques
Plotly est une bibliothèque Python qui permet de créer des graphiques
interactifs, et cela grâce aux technologies web (HTML, CSS et JS). Un navigateur suffit à
afficher le contenu d'un graphique généré avec Plotly.
@@ -55,10 +55,10 @@ Nous allons passer en revue quelques graphiques réalisables avec Express.
----
#### `plotly.express.bar`
#### `plotly.express.bar` (`DataFrame`)
Générer un graphique en barres est assez simple avec Plotly, et fonctionne
de manière relativement satisfaisante par défaut (ex. texte en blanc sur fond sombre)
Générer un graphique en barres est assez simple avec Plotly Express, et fonctionne
de manière relativement satisfaisante par défaut (ex. gestion du contraste et angle des étiquettes)
```python {.numberLines}
import pandas as pd
@@ -799,6 +799,10 @@ figure.update_layout(
figure.show(renderer="browser")
```
La méthode `add_hrect()`{.python} dessine un rectangle prenant l'intégralité de la largeur du
graphique. Il ne reste qu'à définir les coordonnées `y0` et `y1` du rectangle,
coordonnées qui dépendent d'une référence (taille du graphique, pixels ou axe Y)
----
![Ajout d'un rectangle horizontal](assets/images/eda-plotly-trace-hrect.png)
@@ -835,18 +839,29 @@ import numpy as np
from plotly.graph_objs import Figure, Scatter
from scipy.ndimage import gaussian_filter
# Créer une courbe aléatoire lissée
df = pd.DataFrame(data={"col1": gaussian_filter(np.random.random(size=200) * 79.0 + 1.0, sigma=1.5)})
# Créer une courbe aléatoire lissée de valeurs entre 1 et 80
SIZE: int = 500
np.random.seed(4) # Pour reproduire les résultats
df = pd.DataFrame(data={"col1": gaussian_filter(np.random.random(size=SIZE) * 79.0 + 1.0, sigma=SIZE / 133)})
# Calculer les coefficients d'une régression de degré 2 pour col1
c2, c1, c0 = np.polyfit(df.index, df["col1"], 2)
df["reg1"] = df.index ** 2 * c2 + df.index * c1 + c0
df["reg1"] = c2 * df.index**2 + c1 * df.index + c0
# Créer une image avec deux lignes
figure = Figure([
Scatter(name="values", x=df.index, y=df["col1"], line={"color": "black", "width": 2}, marker={"symbol": "circle"}, mode="lines+markers"),
Scatter(name="regression", x=df.index, y=df["reg1"], line={"color": "red", "width": 4, "dash": "dot"}, mode="lines")
])
figure.layout.update({"template": "seaborn", "xaxis1": {"title": "time"}, "title": "Test de régression", "font": {"family": "Cabin", "size": 13}, "yaxis1": {"title": "value"}})
figure = Figure(
data=[
Scatter(name="values", x=df.index, y=df["col1"], line={"color": "gray", "width": 1}, mode="lines"),
Scatter(
name="regression", x=df.index, y=df["reg1"], line={"color": "red", "width": 4, "dash": "dot"}, mode="lines"
),
],
layout={
"template": "seaborn",
"xaxis1": {"title": "time"},
"title": "Test de régression",
"font": {"family": "Cabin", "size": 13},
"yaxis1": {"title": "value"},
},
)
figure.show(renderer="browser")
```