matplotlib có API xử lý sự kiện mà bạn có thể sử dụng để kết nối với các hành động như những gì bạn đang đề cập đến. Trang Event Handling cung cấp tổng quan về API sự kiện và có một đề cập ngắn gọn về các sự kiện x và y giới hạn trên trang Axes.
Trong trường hợp của bạn, bạn muốn đăng ký chức năng gọi lại trên các sự kiện xlim_changed
và ylim_changed
của đối tượng. Các chức năng này sẽ được gọi bất cứ khi nào người dùng phóng to hoặc thay đổi chế độ xem.
Dưới đây là một ví dụ làm việc tối thiểu:
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()
Bạn có thể sử dụng 'ax.get_xlim' và 'ax.set_ylim' để lấy các giới hạn. – hitzg