matplotlib verfügt über eine Ereignisbehandlungs-API, mit der Sie Aktionen wie die, auf die Sie sich beziehen, nutzen können. Die Seite Event Handling gibt einen Überblick über die Ereignis-API, und auf der Seite Axes gibt es eine (sehr) kurze Erwähnung der Ereignisse x- und y-limits.
In Ihrem Szenario möchten Sie Rückruffunktionen auf den Axes
Objekt xlim_changed
und ylim_changed
Ereignisse registrieren. Diese Funktionen werden immer dann aufgerufen, wenn der Benutzer das Ansichtsfenster vergrößert oder verkleinert.
Hier ist ein Mindestarbeitsbeispiel:
import matplotlib.pyplot as plt
#
# Some toy data
x_seq = [x/100.0 for x in xrange(1, 100)]
y_seq = [x**2 for x in x_seq]
#
# Scatter plot
fig, ax = plt.subplots(1, 1)
ax.scatter(x_seq, y_seq)
#
# Declare and register callbacks
def on_xlims_change(axes):
print "updated xlims: ", ax.get_xlim()
def on_ylims_change(axes):
print "updated ylims: ", ax.get_ylim()
ax.callbacks.connect('xlim_changed', on_xlims_change)
ax.callbacks.connect('ylim_changed', on_ylims_change)
#
# Show
plt.show()
Sie können 'ax.get_xlim' und' ax.set_ylim' an die Grenzen abrufen. – hitzg