Mit den Daten, die ich für dieses Diagramm habe, erhalte ich y-Achsen-Grenzwerte von 20 und 200. Ich möchte jedoch die Grenzwerte 20 und 250.
Funktioniert für mich mit Matplotlib 1.0.0, wenn ich hinzufüge plt.show() am Ende, um die Handlung zu zeigen. Welche Version und welches Backend verwendest du?
– Tamás
23. September 2010 um 11:41 Uhr
Arbeitet für mich mit Matplotlib 0.98.5.2, Python 2.6.2. Ich habe beides ausprobiert plt.ylim((25,250)) und plt.ylim(ymax = 250, ymin = 25). Ich benutze die Agg Backend.
– Manoj Govindan
23. September 2010 um 11:50 Uhr
Danke euch beiden. Funktioniert es mit PDF-Backend für Sie.
Übrigens, das ist eine dumme Abkürzung, die “get die caktuell axes”.
– Lenar Hoyt
8. Mai 2017 um 10:57 Uhr
Sie können auch einen Wert festlegen None was die Berechnung matplotlib überlässt, zB axes.set_ylim([ymin,None])
– Linqu
13. September 2018 um 10:14 Uhr
Es gibt andere Optionen als zu verwenden None wie im Beitrag von @linqu : set_ylim(bottom=None, top=None, [...], *, ymin=None, ymax=None). bottom und ymin (Äquivalent) für Minimum. top und ymax) Äquivalent für Maximum. Sie können nicht beide verwenden bottom und ymin auf einmal. Das gleiche mit top und ymax.
– MaciekS
4. November 2021 um 8:24 Uhr
Eine Sache, die Sie tun können, ist, Ihren Achsenbereich selbst festzulegen, indem Sie matplotlib.pyplot.axis verwenden.
matplotlib.pyplot.axis
from matplotlib import pyplot as plt
plt.axis([0, 10, 0, 20])
0,10 ist für den X-Achsenbereich. 0,20 ist für den Y-Achsenbereich.
oder Sie können auch matplotlib.pyplot.xlim oder matplotlib.pyplot.ylim verwenden
matplotlib.pyplot.ylim
plt.ylim(-2, 2)
plt.xlim(0,10)
thetarro
Eine andere Problemumgehung besteht darin, die Achsen des Diagramms abzurufen und neu zuzuweisen, indem nur die y-Werte geändert werden:
x1,x2,y1,y2 = plt.axis()
plt.axis((x1,x2,25,250))
Du brauchst nicht zu greifen x1 und x2können Sie diese mit Matplotlib ableiten lassen None.
– jacob
24. März 2021 um 20:35 Uhr
Reza Keshavarz
Sie können ein Objekt von instanziieren matplotlib.pyplot.axes und ruf die an set_ylim() darauf. Es wäre ungefähr so:
import matplotlib.pyplot as plt
axes = plt.axes()
axes.set_ylim([0, 1])
geliebt.von.Jesus
Nur zum Feintuning. Wenn Sie nur eine der Achsengrenzen festlegen und die andere Grenze unverändert lassen möchten, können Sie eine oder mehrere der folgenden Anweisungen wählen
plt.xlim(right=xmax) #xmax is your value
plt.xlim(left=xmin) #xmin is your value
plt.ylim(top=ymax) #ymax is your value
plt.ylim(bottom=ymin) #ymin is your value
Schauen Sie sich die Dokumentation für an xlim und für ylim
Antti A
Dies funktionierte zumindest in matplotlib Version 2.2.2:
plt.axis([None, None, 0, 100])
Wahrscheinlich ist dies eine nette Möglichkeit, zum Beispiel nur xmin und ymax usw. einzurichten.
Um die Antwort von @ Hima zu ergänzen, können Sie Folgendes verwenden, wenn Sie eine aktuelle x- oder y-Grenze ändern möchten.
import numpy as np # you probably alredy do this so no extra overhead
fig, axes = plt.subplot()
axes.plot(data[:,0], data[:,1])
xlim = axes.get_xlim()
# example of how to zoomout by a factor of 0.1
factor = 0.1
new_xlim = (xlim[0] + xlim[1])/2 + np.array((-0.5, 0.5)) * (xlim[1] - xlim[0]) * (1 + factor)
axes.set_xlim(new_xlim)
Ich finde dies besonders nützlich, wenn ich die Standard-Ploteinstellungen nur ein wenig verkleinern oder vergrößern möchte.
13998700cookie-checkSo stellen Sie das Y-Achsen-Limit einyes
Funktioniert für mich mit Matplotlib 1.0.0, wenn ich hinzufüge
plt.show()
am Ende, um die Handlung zu zeigen. Welche Version und welches Backend verwendest du?– Tamás
23. September 2010 um 11:41 Uhr
Arbeitet für mich mit Matplotlib 0.98.5.2, Python 2.6.2. Ich habe beides ausprobiert
plt.ylim((25,250))
undplt.ylim(ymax = 250, ymin = 25)
. Ich benutze dieAgg
Backend.– Manoj Govindan
23. September 2010 um 11:50 Uhr
Danke euch beiden. Funktioniert es mit PDF-Backend für Sie.
– Neugierig2lernen
23. September 2010 um 12:26 Uhr
Hinweis:
axisbg
ist jetzt veraltet– SherylHohman
26. März 2017 um 19:34 Uhr
plt.ylim
ist die richtige, moderne Lösung für dieses Problem. Hier ist eine gute Ressource: showmecode.info/matplotlib/axes/set-limits– Luk
25. Juni 2020 um 20:50 Uhr