Achsen im Plot einstellen

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

Hallo,

vorweg, ich weiss, dass man solche Fragen über die Doc löst. Das versuche ich schon seit zwei Stunden. Ich frickele gerade an meinem allerersten Projekt, daher seht mir es nach.
Ich habe aus einer .csv einen Plot erstellt. Das geht auch einwandfrei. Auf der Y-Achse habe ich Werte zwischen 10.000 und 14.000, und auf der X-Achse Werte zwischen -50 und 400.

Wie man dem Codeauscchnitt entnehmen kann ist es mir bereits gelungen die Achsenbeschriftungen für den gewünschten Bereich anzupassen. Was mir partout nicht gelingen will ist nun den Anzeigebereich nun ebenfalls auf diesen Ausschnitt zu begrenzen, nämlich auf X=-20, 200 und Y=11500, 12500.
Im geplotteten Chart ist das ja leicht über das Achsmenü möglich, ich würde es aber gerne bereits bei Erstellung tun.

front = sample_data[sample_data.Datum == "01.09.2018"]
plt.plot(front.Veränderung, front.Basis)
plt.xlabel("X")
plt.ylabel("Y")
plt.legend(["09/2018"])
plt.grid(True)
plt.axvline(0, color='R', linestyle='-')
plt.yticks(np.arange(11500, 12500, step=50))
plt.xticks(np.arange(-20, 200, step=10)

Vielen Dank
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@SautaRoc: Da würde ich nicht die Tickwerte selbst festlegen, sondern erst einmal die Grenzen. Die Tickwerte werden dann ja automatisch angepasst. Du suchst `xlim()` und `ylim()`.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
SautaRoc
User
Beiträge: 48
Registriert: Donnerstag 20. September 2018, 13:18

Vielen Dank - das hat perfekt geklappt!
SautaRoc
User
Beiträge: 48
Registriert: Donnerstag 20. September 2018, 13:18

front = sample_data[sample_data.Datum == "01.09.2018"]
plt.plot(front.Veränderung, front.Basis)
plt.xlabel("X")
plt.ylabel("Y")
plt.legend(["09/2018"])
plt.grid(True)
plt.axvline(0, color='R', linestyle='-')
plt.xlim(-20, 200)
plt.ylim(11500, 12500)
plt.yticks(np.arange(11500, 12500, step=50)) -->(Festlegung, weil ich es genau so will)
Antworten