definition der Y-Achse in horiz. Barchart aus DataFrame

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
SautaRoc
User
Beiträge: 48
Registriert: Donnerstag 20. September 2018, 13:18

Hallo Zusammen,

ich frage zwar häufig, aber es stecken viele Stunden suchen und probieren dazwischen und dazu ist das Forum ja eigentlich da. Insofern übergehe ich jetzt mal mein schlechtes Gewissen.

Ich habe mir mit Daten au dem Netz per request mehrere DataFrames erzeugt, diese bearbeitet, sortiert und gemerged (mit einigen guter Tipps von hier).


Aus dem Dataframe sollen diverse Diagramme erzeugt werden, unter anderem ein horizontaler Barchart.

wenn ich nun mit:

Code: Alles auswählen

df['wert'].plot(kind='barh', color='maroon')

plt.show()
den Chart erzeuge wird logischerweise der Reihenindex zur Beschriftung der Y-Achse verwendet. Eigentlich wollte ich aber die Werte aus einer Spalte dafür verwenden. Also bin ich hergegangen und habe aus dieser Spalte einen neuen Index für den DataFrame ezeugt. Dazu habe ich die Spaltenüberschrift in eine Variable 'Basis' gepackt und folgenden Code ausgeführt:

Code: Alles auswählen

df.set_index(Basis, inplace = True)
Wenn ich nun den Plot anzeigen lasse entsteht optisch das richtige Bild mit der gewünschten Beschriftung


Bild



Der Haken ist nun, dass wenn ich z.B über plt.ylim den Anzeigebereich ändern will, dies zwar möglich ist, jedoch nicht mit den Werten des neuen Indexes, sondern wie zuvor nur über die alten Zeilenindixes. Ich verstehe einfach nicht wo das Problem ist. Bezieht sich den plt.ylim nun auf die Werte im Index oder auf deren Position im Index??
Antworten