你肯定知道如何在放大后如何追踪我的身材的极限吗?我想准确地知道坐标,所以我可以用ax.set_xlim
和ax.set_ylim
重现这个数字。
我正在使用标准的qt4agg后端。
编辑:我知道我可以用光标查找下角和上角的两个位置,但也许有正式的方法可以做到这一点?
答案 0 :(得分:22)
matplotlib有一个事件处理API,您可以使用它来挂接您所指的行为。 Event Handling页面概述了事件API,并在Axes页面上(非常)简要提及了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()
答案 1 :(得分:1)
print ax.get_xlim(), ax.get_ylim()