Matplotlib: averiguando xlim y ylim después del zoom

¿Seguro que sabe de una manera rápida cómo puedo rastrear los límites de mi figura después de haberla acercado? Me gustaría saber las coordenadas con precisión para poder reproducir la figura con ax.set_xlim y ax.set_ylim . Estoy usando el backend estándar de qt4agg.

Edición: Sé que puedo usar el cursor para averiguar las dos posiciones en la esquina inferior y superior, pero ¿tal vez hay una forma formal de hacerlo?

matplotlib tiene una API de gestión de eventos que puede utilizar para conectarse a acciones como las que se refiere. La página de Gestión de eventos proporciona una descripción general de la API de eventos, y hay una (muy) breve mención de los eventos de límites de x e y en la página de ejes .

En su escenario, desearía registrar funciones de callback en los eventos xlim_changed y ylim_changed del objeto Axes . Estas funciones se llamarán siempre que el usuario amplíe o desplace la vista.

Aquí hay un ejemplo mínimo de trabajo:

 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() 
 print ax.get_xlim(), ax.get_ylim()