Plotly Boxplot

Ammar Ali 15 Februar 2024
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:

Plotter Boxplot

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:

Ändern der Eigenschaften des Boxplots

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:

Ändern der Farbe des Boxplots

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:

Ändern der Farbreihenfolge des Boxplots

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:

sich verändernde Spuren des Boxplots

Besuchen Sie diesen Link für weitere Details über die Funktionsspuren box().

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Verwandter Artikel - Plotly Plot