matplotlib имеет API обработки событий, который вы можете использовать, чтобы подключаться к действиям, подобным тем, на которые вы обращаетесь. На странице Event Handling представлен обзор API событий, и есть (очень) краткое описание событий x- и y-ограничений на странице Axes .
В вашем сценарии вы хотите зарегистрировать функции обратного вызова на событиях xlim_changed
и ylim_changed
объекта. Эти функции будут вызваны всякий раз, когда пользователь увеличит или сдвинет область просмотра.
Ниже приведен минимальный рабочий пример:
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()