2025.46 changes
This commit is contained in:
@@ -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)
|
||||
|
||||
----
|
||||
|
||||

|
||||
@@ -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")
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user