Plotly Box Plot
Ce didacticiel abordera la création d’un box plot à l’aide de la fonction box()
de Plotly.
Le box plot de Plotly
Une boîte à moustaches dans Plotly représente la distribution d’une variable à travers ses quartiles. Les extrémités de la boîte décrivent les quartiles inférieur et supérieur, tandis qu’une ligne à l’intérieur de la boîte marque la médiane ou le deuxième quartile.
Nous pouvons utiliser la fonction box()
de Plotly pour créer un box plot des données données. Nous devons fournir le cadre de données ou les valeurs et les étiquettes à l’intérieur de la fonction box()
pour créer le box plot.
Le code ci-dessous crée une boîte à moustaches de certaines données aléatoires.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(x=labels, y=value, width=500, height=400)
fig.show()
Production :
Les arguments width
et height
sont utilisé pour définir la largeur et la hauteur de la figure en pixels. Nous pouvons donner à chaque cellule une couleur par défaut en utilisant l’argument color
et définir sa valeur sur étiquettes.
Nous pouvons définir l’orientation des boîtes en utilisant l’argument orientation
et une chaîne h
pour l’orientation horizontale et v
pour l’orientation verticale. Nous pouvons définir l’axe à l’échelle logarithmique en utilisant le log_x
pour l’axe des x et log_y
pour l’axe des y et définir sa valeur sur true.
Nous pouvons définir la forme des cases sur notched en utilisant l’argument notched
et définir sa valeur sur true. On peut donner un titre au graphe en utilisant l’argument title
.
Nous pouvons utiliser facet_col
et facet_row
pour créer des sous-parcelles avec des cellules séparées et définir leur valeur sur une liste d’entiers ou de chaînes pour définir le titre de la sous-parcelle. Nous pouvons définir la distance entre deux sous-parcelles en utilisant facet_col_spacing
pour l’espacement des colonnes et facet_row_spacing
pour l’espacement des lignes.
Le code ci-dessous modifie les arguments mentionnés ci-dessus.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(
x=labels,
y=value,
width=700,
height=400,
color=labels,
notched=True,
title="Plotly Box Plot",
facet_col=[1, 2, "b"],
)
fig.show()
Production :
Par défaut, la fonction box()
donne à chaque cellule une couleur différente, mais nous pouvons définir la couleur de chaque cellule en utilisant les arguments color
et color_discrete_map
. Nous devons passer chaque étiquette de cellule à l’intérieur de l’argument couleur, puis attribuer une couleur à chaque étiquette en utilisant l’argument color_discrete_map
pour changer la couleur de chaque cellule. Si on ne définit pas la couleur d’un label, la fonction box()
lui donne automatiquement une couleur aléatoire.
Le code ci-dessous définit la couleur de chaque cellule.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(
x=labels,
y=value,
width=700,
height=400,
color=labels,
color_discrete_map={
"A": "green",
"B": "cyan",
"C": "yellow",
},
)
fig.show()
Production :
Nous pouvons modifier l’échelle ou la séquence de couleurs par défaut pour définir la couleur de chaque cellule à l’aide de l’argument color_discrete_sequence
. La valeur de l’argument doit être une liste de couleurs CSS valides. Nous pouvons utiliser la séquence de couleurs intégrée de Plotly comme Vivid
, Light24
et Dark2
.
Le code ci-dessous modifie les couleurs du camembert en utilisant la séquence de couleurs Dark2
.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(
x=labels,
y=value,
width=700,
height=400,
color=labels,
color_discrete_sequence=px.colors.qualitative.Dark2,
)
fig.show()
Production :
Pour changer la séquence de couleurs dans le code, nous devons changer le nom de la séquence de couleurs de Dark2
à Vivid
. Visitez ce lien pour plus de détails sur la séquence de couleurs de Plotly.
On peut mettre à jour les traces de la fonction bar()
en utilisant la fonction fig.update_traces()
. Nous pouvons changer la couleur de remplissage des cases en utilisant l’argument fillcolor
et définir sa valeur sur un nom de couleur comme le jaune. Nous pouvons changer l’opacité des boîtes en utilisant l’argument opacity
et définir sa valeur de 0 à 1.
Nous pouvons définir le groupe de titres de la légende à l’aide de l’argument legendgrouptitle_text
et définir sa valeur sur une chaîne.
Le code ci-dessous modifie les traces mentionnées ci-dessus en utilisant la fonction fig.update_traces()
.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(x=labels, y=value, width=700, height=400, color=labels)
fig.update_traces(fillcolor="yellow", opacity=0.8, legendgrouptitle_text="LegendTitle")
fig.show()
Production :
Visitez ce lien pour plus de détails sur les traces de la fonction box()
.