gpt4 book ai didi

python - Matplotlib:缩放后找出 xlim 和 ylim

转载 作者:太空狗 更新时间:2023-10-29 20:35:53 24 4
gpt4 key购买 nike

你肯定知道放大后如何快速追踪我的身材极限的方法吗?我想知道精确的坐标,以便我可以使用 ax.set_xlimax.set_ylim 重现图形。我正在使用标准的 qt4agg 后端。

编辑:我知道我可以使用光标找出下角和上角的两个位置,但也许有正式的方法可以做到这一点?

最佳答案

matplotlib 有一个事件处理 API,您可以使用它来连接您所指的操作。 Event Handling页面概述了事件 API,并且(非常)简短地提到了 Axes 上的 x 和 y 限制事件。页面。

The Axes instance supports callbacks through a callbacks attribute which is a CallbackRegistry instance. The events you can connect to are xlim_changed and ylim_changed and the callback will be called with func(ax) where ax is the Axes instance.

在您的场景中,您希望在 Axes 对象的 xlim_changedylim_changed 事件上注册回调函数。只要用户缩放或移动视口(viewport),就会调用这些函数。

这是一个最小的工作示例:

python 2

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(event_ax):
print "updated xlims: ", event_ax.get_xlim()

def on_ylims_change(event_ax):
print "updated ylims: ", event_ax.get_ylim()

ax.callbacks.connect('xlim_changed', on_xlims_change)
ax.callbacks.connect('ylim_changed', on_ylims_change)

#
# Show
plt.show()

python 3

import matplotlib.pyplot as plt

#
# Some toy data
x_seq = [x / 100.0 for x in range(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(event_ax):
print("updated xlims: ", event_ax.get_xlim())

def on_ylims_change(event_ax):
print("updated ylims: ", event_ax.get_ylim())

ax.callbacks.connect('xlim_changed', on_xlims_change)
ax.callbacks.connect('ylim_changed', on_ylims_change)

#
# Show
plt.show()

关于python - Matplotlib:缩放后找出 xlim 和 ylim,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31490436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com