Automatisches Rescale ylim und xlim in Matplotlib

Ich zeichne Daten in Python mit matplotlib. Ich aktualisiere die Daten des Plots auf der Grundlage einiger Berechnungen und möchte, dass die ylim und xlim automatisch neu skaliert werden. Stattdessen, was passiert, ist die Skala auf der Grundlage der Grenzen der ursprünglichen Handlung gesetzt. Ein MWE ist

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 Handlungsbefehl erzeugt eine Handlung von [0,1] und ich kann alles gut sehen. Am Ende geht das y-Daten-Array von [0,10) mit dem größten Teil von 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, was sie zu ändern. In der for Schleife kann ich pyplot sagen, um die Grenzen zu skalieren, als ob es das erste Mal geplottet wurde?

  • Wie man colormap mit absoluten Werten mit matplotlib definiert
  • Assoziieren Sie eine Farbleiste mit einem Matrix-Diagramm
  • Python 2.7: Matplotlib.pyplot kann nicht importiert werden
  • Matplotlib Installation auf Mavericks
  • Seaborn: countplot () mit Frequenzen
  • Wie kann ich 3D-Histogramme in Python machen?
  • One Solution collect form web for “Automatisches Rescale ylim und xlim in Matplotlib”

    Sie müssen die DatenLim der Achsen aktualisieren und anschließend die ViewLim der Achsen auf der Basis der dataLim aktualisieren. Die approrpiate Methoden sind axes.relim () und ax.autoscale_view () Methode. Ihr Beispiel sieht dann wie:

     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)) ax = pyplot.gca() # recompute the ax.dataLim ax.relim() # update ax.viewLim using the new dataLim ax.autoscale_view() pyplot.draw() 
    Python ist die beste Programmiersprache der Welt.