Seite 1 von 1

Monatsnamen im Plot anzeigen

Verfasst: Freitag 1. September 2017, 22:21
von uschmidt
Hallo. Bei einem Plot würde ich gerne auf der X-Achse die Monatsnamen angezeigt haben. Bisher sieht der Plot wie folgt aus:

https://imgur.com/a/DUCFu

Statt der Nummern sollten da die Monate Apri(4,0), Mai(5,0) und Juni(6,0) stehen. 3,5, 4,5 usw. sollten ausgeblendet sein.

Der Code sieht wie folgt aus:

Code: Alles auswählen

df=pd.read_csv('df.csv', sep=',',index_col=0)

y1 = df.A
y2 = df.B
x = df.index

x_start = 3.5  
x_end = 6.5 
x = np.linspace(x_start, x_end, len(y1))

fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.plot(x, y1, '-',c='xkcd:dull blue')
ax1.fill_between(x, 0, y1, alpha=.3)
ax2.plot(x, y2, '-',c='xkcd:red')

ax1.set_ylabel('A', color='xkcd:dull blue')
ax2.set_ylabel('B', color='xkcd:red')

plt.xticks()
plt.show()
Kann mir jemand helfen? Danke schon mal!!!

Re: Monatsnamen im Plot anzeigen

Verfasst: Samstag 2. September 2017, 11:21
von Melewo
uschmidt hat geschrieben:Statt der Nummern sollten da die Monate Apri(4,0), Mai(5,0) und Juni(6,0) stehen. 3,5, 4,5 usw. sollten ausgeblendet sein.
Das sollte sich mit xticks lösen lassen. Wie Du das dann mit Deinen Daten machst, musst halt mal schauen, habe jetzt von 0 bis 11 geschrieben, doch 1 bis 12 funktioniert ebenfalls.

Code: Alles auswählen

import matplotlib.pyplot as plt

monate_strings = ["Jan.", "Febr.", "März", "Apr.", "Mai", "Juni",
                  "Juli", "Aug.", "Sept.", "Okt.", "Nov.", "Dez."]

monate_zahlen = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
werte = [10, 12, 13, 14, 15, 16, 17, 18, 19, 18, 17, 16]

plt.xticks(monate_zahlen, monate_strings)
plt.plot(monate_zahlen, werte)
plt.xlabel("Monate", color="#ce6600")
plt.ylabel("Werte", color="#ce6600")

plt.savefig("plot-mit-monatsnamen.png")
plt.show()
Bild

Re: Monatsnamen im Plot anzeigen

Verfasst: Sonntag 3. September 2017, 13:40
von uschmidt
Nice! Das hat geholfen! Besten Dank!