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