Plotly Boxplot
In diesem Tutorial wird das Erstellen eines Boxplots mit der Funktion box()
von Plotly erläutert.
Plotly Boxplot
Ein Boxplot in Plotly stellt die Verteilung einer Variablen über ihre Quartile dar. Die Enden der Box beschreiben das untere und obere Quartil, während eine Linie innerhalb der Box den Median oder das zweite Quartil markiert.
Wir können die Funktion box()
von Plotly verwenden, um einen Boxplot der gegebenen Daten zu erstellen. Wir müssen den Datenrahmen oder Werte und Beschriftungen in der Funktion box()
bereitstellen, um den Boxplot zu erstellen.
Der folgende Code erstellt ein Boxplot einiger zufälliger Daten.
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()
Ausgabe:
Die Argumente width
und height
werden verwendet, um die Breite und Höhe der Figur in Pixel festzulegen. Wir können jeder Zelle mit dem Argument color
eine Standardfarbe zuweisen und ihren Wert auf Etiketten setzen.
Wir können die Ausrichtung der Boxen mit dem Argument orientation
und einem String h
für horizontale und v
für vertikale Ausrichtung festlegen. Wir können die Achse auf logarithmische Skalierung setzen, indem wir log_x
für die x_axis und log_y
für die y-Achse verwenden und ihren Wert auf true setzen.
Wir können die Form der Boxen mit dem Argument notched
auf gekerbt setzen und seinen Wert auf wahr setzen. Mit dem Argument title
können wir der Grafik einen Titel geben.
Wir können facet_col
und facet_row
verwenden, um Subplots mit separaten Zellen zu erstellen und ihren Wert auf eine Liste von ganzen Zahlen oder Strings zu setzen, um den Titel für den Subplot festzulegen. Wir können den Abstand zwischen zwei Subplots mit facet_col_spacing
für den Spaltenabstand und facet_row_spacing
für den Zeilenabstand festlegen.
Der folgende Code ändert die oben genannten Argumente.
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()
Ausgabe:
Standardmäßig gibt die Funktion box()
jeder Zelle eine andere Farbe, aber wir können die Farbe jeder Zelle mit den Argumenten color
und color_discrete_map
festlegen. Wir müssen jede Zellbeschriftung innerhalb des Farbarguments übergeben und dann jeder Beschriftung eine Farbe zuweisen, indem wir das Argument color_discrete_map
verwenden, um die Farbe jeder Zelle zu ändern. Wenn wir die Farbe für ein Etikett nicht definieren, gibt ihm die Funktion box()
automatisch eine zufällige Farbe.
Der folgende Code legt die Farbe jeder Zelle fest.
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()
Ausgabe:
Wir können die Standardfarbskala oder -sequenz ändern, um die Farbe jeder Zelle mit dem Argument color_discrete_sequence
festzulegen. Der Wert des Arguments sollte eine Liste gültiger CSS-Farben sein. Wir können die eingebaute Farbsequenz von Plotly wie Vivid
, Light24
und Dark2
verwenden.
Der folgende Code ändert die Farben des Tortendiagramms mit der Farbfolge 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()
Ausgabe:
Um die Farbfolge im Code zu ändern, müssen wir den Namen der Farbfolge von Dark2
auf Vivid
ändern. Besuchen Sie diesen Link für weitere Details über die Farbsequenz von Plotly.
Wir können Traces der Funktion bar()
mit der Funktion fig.update_traces()
aktualisieren. Wir können die Füllfarbe von Kästchen mit dem Argument fillcolor
ändern und seinen Wert auf einen Farbnamen wie Gelb setzen. Wir können die Deckkraft der Boxen mit dem Argument opacity
ändern und seinen Wert von 0 auf 1 setzen.
Wir können die Titelgruppe der Legende mit dem Argument legendgrouptitle_text
festlegen und ihren Wert auf einen String setzen.
Der folgende Code ändert die oben erwähnten Traces mit der Funktion 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()
Ausgabe:
Besuchen Sie diesen Link für weitere Details über die Funktionsspuren box()
.