[FIXED] Warum werden die Farben der px.bar heller/heller, wenn die Größe der Daten größer wird?

Ausgabe

Ich habe ein Problem mit Plotly Bar bei der Verwendung mit 2 kategorialen Spalten, das Diagramm funktioniert, ist aber nicht klar, wie Sie sehen können. Ich habe die Farben geändert, aber immer noch die gleichen.

Datenbeispiel :

Job                y

Housemaid          yes 
Admin.             No
Services           yes
Services           no

Ein sehr einfacher Code, aber ich konnte das Problem nicht herausfinden.

fig = px.bar(bank_data ,x="job", color="y")
fig.show()

Hier ist, was ich bekomme

Plotly-Balken-Ergebnis

Bearbeiten: Es hängt von der Größe der Daten ab, zum Beispiel, wenn ich 1000 Zeilen verwende, bekomme ich das.

Geben Sie hier die Bildbeschreibung ein

aber wenn ich 2000 Zeilen verwende, wird die Farbe heller
Geben Sie hier die Bildbeschreibung ein

deshalb ist es überhaupt nicht klar, wenn man alle Daten verwendet.

verwendete Daten: https://www.kaggle.com/datasets/volodymyrgavrysh/bank-marketing-campaigns-dataset

Bearbeiten: gelöst durch Hinzufügen einer weiteren Spalte “count”, dann groupby “job”:

bank_data["count"]=1
bank_data=bank_data.groupby(["job","y"],as_index=False).sum()
fig=px.bar(bank_data,x="job",y="count",color="y",barmode='group')
fig.show()

Das Ergebnis ist:
Geben Sie hier die Bildbeschreibung ein

Lösung

Ihr Problem besteht darin, die Anzahl von Ja und Nein für jeden Job zu zählen, daher können Sie px.histogram mit barmode='group'für diese Aufgabe verwenden, anstatt wie folgt eine neue Spalte in Ihrem Datenrahmen zu erstellen:

import plotly.express as px
import pandas as pd 

df = pd.read_csv('bank-additional-full.csv',sep=';')

fig = px.histogram(df ,x="job", color="y",barmode='group')
fig.show()

Geben Sie hier die Bildbeschreibung ein

Ihr Problem wird hier erwähnt und es wird vorgeschlagen, statt des Balkens das Histogramm zu verwenden.


Beantwortet von –
Hamzah


Antwort geprüft von –
Cary Denson (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like