Plotly Balkendiagramm

Ammar Ali 1 April 2022
Plotly Balkendiagramm

In diesem Tutorial wird das Erstellen eines Balkendiagramms mit der Funktion bar() von Plotly erläutert.

Plotly-Balkendiagramm

Ein Balkendiagramm zeigt Daten als rechteckige Balken an, deren Höhe dem Wert entspricht, den sie darstellen. Wir können die Funktion bar() von Plotly verwenden, um ein Balkendiagramm zu erstellen.

Ein Balkendiagramm hat zwei Achsen; Eine Achse stellt die Daten als rechteckige Balken dar, die andere die Beschriftungen. Wir können ein vertikales Balkendiagramm horizontal machen, indem wir die Achsen vertauschen.

Wir sollten die Daten und die Beschriftungen innerhalb der Funktion bar() übergeben, um das Balkendiagramm zu erstellen. Wir können auch einen Datenrahmen oder ein Array innerhalb der Funktion bar() übergeben.

Lassen Sie uns ein Balkendiagramm mit Zufallsdaten erstellen. Siehe Code unten.

import plotly.express as px

labels = ["One", "Two", "Three"]
value = [10, 50, 100]
fig = px.bar(x=labels, y=value, height=400, width=500)
fig.show()

Ausgabe:

graphisches Balkendiagramm

Die Argumente width und height werden verwendet, um die Breite und Höhe der Figur in Pixel festzulegen. Wir können jeder Zelle eine andere Farbe geben, indem wir das Argument color und ein Array von Zahlen mit der gleichen Länge wie die Eingabedaten verwenden.

Wir können Text in jeder Zelle platzieren, indem wir das Argument text und eine Liste von Strings verwenden, die den Text für jede Zelle enthalten. Wir können die Position jeder Zellbasis mit dem Argument Basis und einer Liste festlegen, die die Position jeder Zellbasis enthält.

Wir können jeder Zelle Fehlerbalken hinzufügen, indem wir das Argument error_x für die x-Achse und das Argument error_y für die y-Achse verwenden. Der Wert des Arguments sollte eine Liste sein, die die numerischen Fehlerwerte für jede Zelle enthält.

Wir können die Deckkraft jeder Zelle mit dem Argument opacity von 0 auf 1 setzen. Wir können die Ausrichtung der Zellen mit dem Argument orientation auf horizontal oder vertikal setzen und es auf v für vertikal und h für horizontal setzen.

Wir können jede Achse auf logarithmische Skalierung setzen, indem wir das Argument log_x für die x-Achse und das Argument log_y für die y-Achse verwenden und ihren Wert auf wahr setzen. Wir können den Titel der Abbildung auch mit dem Argument title() und einem String setzen, der den Text für den Titel enthält.

Ändern wir die oben genannten Argumente. Siehe Code unten.

import plotly.express as px

labels = ["One", "Two", "Three"]
value = [10, 50, 100]
fig = px.bar(
    x=labels,
    y=value,
    height=400,
    width=500,
    color=[1, 5, 10],
    text=["a", "b", "c"],
    base=[0, 15, 50],
    error_y=[5, 10, 15],
    opacity=0.8,
    orientation="v",
    title="plotly bar plot",
)
fig.show()

Ausgabe:

Ändern der Eigenschaften von Plotly-Balkendiagrammen

Standardmäßig gibt die Funktion bar() 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 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 bar() automatisch eine zufällige Farbe. Legen wir die Farbe jeder Zelle fest.

import plotly.express as px

labels = ["A", "B", "C"]
value = [10, 50, 100]
fig = px.bar(
    x=labels,
    y=value,
    height=400,
    width=500,
    color=labels,
    color_discrete_map={
        "A": "green",
        "B": "cyan",
        "C": "yellow",
    },
)
fig.show()

Ausgabe:

Ändern der Farbe des Balkendiagramms

Wir können auch die Standardfarbskala oder -sequenz ändern, um die Farbe jeder Zelle mit dem Argument color_continuous_scale festzulegen. Der Wert des Arguments sollte eine Liste gültiger CSS-Farben sein. Wir können eine eingebaute Farbsequenz von Plotly wie RdBu, Inferno, Jet, Hot, Rainbow und Sunset verwenden.

Lassen Sie uns die Farben des Tortendiagramms mit der Farbfolge Regenbogen ändern. Siehe Code unten.

import plotly.express as px

labels = ["A", "B", "C"]
value = [10, 50, 100]
fig = px.bar(
    x=labels,
    y=value,
    height=400,
    width=500,
    color=value,
    color_continuous_scale=px.colors.sequential.Rainbow,
)
fig.show()

Ausgabe:

Ändern der Farbreihenfolge des Balkendiagramms

Um die Farbfolge im Code zu ändern, sollten wir den Namen der Farbfolge von Rainbow in Sunset ändern. Klicken Sie auf diesen Link, um weitere Informationen über die Farbsequenz in Plotly zu erhalten.

Wir können auch Traces der Funktion bar() mit der Funktion fig.update_traces() aktualisieren. Wir können das Argument text verwenden, um den Text festzulegen, der in jeder Zelle angezeigt wird, und die Position des Textes mithilfe des Arguments textposition festlegen. Die unterstützten Textpositionen sind outside, inside, auto und none.

Wir können die Schriftgröße des Textes mit dem Argument textfont_size, den Textwinkel mit dem Argument textangle und die Textfarbe mit dem Argument textfont_color ändern. Wir können die Markierungseigenschaften wie Linienbreite und Farbe mit dem Markierungsargument ändern.

Fügen wir jeder Zelle zufälligen Text hinzu, geben Sie jeder Textfarbe, Winkel, Schriftgröße, eine Linie um jede Zelle und legen Sie ihre Farbe und Breite fest.

import plotly.express as px

labels = ["A", "B", "C"]
value = [10, 50, 80]
fig = px.bar(
    x=labels,
    y=value,
    height=400,
    width=500,
    color=value,
    color_continuous_scale=px.colors.sequential.Rainbow,
)
fig.update_traces(
    text=["First", "Second", "Third"],
    textposition="outside",
    textfont_size=16,
    textangle=90,
    textfont_color="Red",
    marker=dict(line=dict(color="green", width=3)),
)
fig.show()

Ausgabe:

sich ändernde Spuren des Balkendiagramms

Klicken Sie auf diesen Link, um weitere Informationen über die Funktionsspuren bar() zu erhalten.

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