Ich zeichne Daten in Python mit Matplotlib. Ich aktualisiere die Daten des Plots basierend auf einigen Berechnungen und möchte, dass Ylim und Xlim automatisch skaliert werden. Stattdessen wird die Skala basierend auf den Grenzen der ursprünglichen Handlung festgelegt. Ein MWE istAutomatische Skalierung von Ylim und Xlim in Matplotlib
import random
import matplotlib.pyplot as pyplot
pyplot.ion()
x = range(10)
y = lambda m: [m*random.random() for i in range(10)]
pLine, = pyplot.plot(x, y(1))
for i in range(10):
pLine.set_ydata(y(i+1))
pyplot.draw()
Der erste Plotbefehl ein Grundstück von [0,1]
erzeugt, und ich kann alles gut sehen. Am Ende geht das y-Daten-Array von [0,10)
mit dem größten davon größer als 1
, aber die y-Grenzen der Figur bleiben [0,1]
.
Ich weiß, dass ich die Grenzen manuell mit pyplot.ylim(...)
ändern kann, aber ich weiß nicht, zu was ich sie ändern soll. Kann ich pyplot in der for
Schleife sagen, dass die Grenzen skaliert werden sollen, als wäre es das erste Mal, dass es geplottet wurde?
diese beiden Antworten in Bezug Siehe: http://stackoverflow.com/a/3215060/623518 und http://stackoverflow.com/a/7198623/623518 – Chris