Pandas Histogram x-Achse anders skalieren

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
tim128er
User
Beiträge: 1
Registriert: Montag 13. Dezember 2021, 13:30

Hallo zusammen,

ich möchte die Verteilung eines Datensatzes in einem Histogram darstellen. Ich habe dafür einen Datensatz über Brustkrebspatienten, dem ich eine weitere Spalte namens "Survived " hinzugefügt habe. Die Variable wird entweder mit 1 (Überleben) oder 0 (Verstorben) belegt. Diese Verteilung würde ich nun gerne in einem Graph darstellen.

Leider wird die x-Achse mit 0.4, 0.6, 0.8, 1.0 und 1.2 beschriftet, was ja eigentlich keinen Sinn macht, da ich nur 0 und 1 als Möglichkeit habe.

Gibt es einen Befehel, die Beschriftung zu ändern?

Code: Alles auswählen

xarr = df2.hist(column="Survived", bins=2, align='right', color='green', alpha=0.5, edgecolor='black', grid=None, rwidth=0.9)

for ax in axarr.flatten():
    ax.set_xlabel("Verstorben/Überlebt")
    ax.set_ylabel("Anzahl")
Bild
Benutzeravatar
__blackjack__
User
Beiträge: 13190
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Also eigentlich willst Du kein Histogramm plotten sondern ein Säulendiagramm. Unterschied dabei ist, dass ein Säulendiagramm kategorielle Daten aus festen Kategorien abbildet, während in einem Histogramm Werte aus einem kontinuierlichen Wertespektrum in ”bins” zusammengefasst werden. Letzteres führt dann auch zu der dafür sinnvollen Beschriftung der Achse.

Du müsstest die Zählung selbst machen, also einen DataFrame erstellen der die 0er und 1er zählt und auf Überschriften "Verstorben" und "Überlegt" abbildet und das dann als Säulendiagramm plotten. Dann brauchst Du diese Information auch nicht in die Achsenbeschriftung packen, wenn die Balken auf der Achse jeweils korrekt mit der Kategorie beschriftet sind.

Edit: Um hier Bilder einzufügen brauchst Du die URL des *Bildes*, nicht die URL von einer Webseite die das Bild irgendwo enthält. Der Imagehoster den Du verwendet hast, bietet unter dem Bild mit „Embed codes“ sogar eine praktische Möglichkeit den BB-Code dafür in die Zwischenablage zu kopieren, den man dann hier im Beitrag einfügen kann:
Bild
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Antworten