Эврика никогда не отменяет регистрацию услуги

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()

30
задан lp1776 16 September 2015 в 18:43
поделиться