Python 创建matplotlib注释后如何移动它们?

Python 创建matplotlib注释后如何移动它们?,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,使用ax.annotate()生成箭头的代码如下: 在这里,我只想在之后向上/向下或向左/向右移动箭头。是否有任何方法可以通过返回的at访问“坐标”以使换档成为可能 我尝试了.set_x()和.set_y()中的和at.set_x(),但两者都只改变了箭头的一端之后更新注释箭头的位置是此处的关键。不必是动态绘图。。在很多情况下,我必须更新箭头。我只是在这里简化问题。@akocz你确定这些函数存在吗。。。这回答了你的问题吗?您可能还对在鼠标悬停时提供动态注释的对象感兴趣。您是否尝试过注释(…,t

使用
ax.annotate()
生成箭头的代码如下:

在这里,我只想在之后向上/向下或向左/向右移动箭头。是否有任何方法可以通过返回的
at
访问“坐标”以使换档成为可能


我尝试了.set_x()和.set_y()中的
at.set_x()
,但两者都只改变了箭头的一端之后更新注释箭头的位置是此处的关键。

不必是动态绘图。。在很多情况下,我必须更新箭头。我只是在这里简化问题。@akocz你确定这些函数存在吗。。。这回答了你的问题吗?您可能还对在鼠标悬停时提供动态注释的对象感兴趣。您是否尝试过
注释(…,textcoords='offset points')
以便在移动数据点时,文本与数据点保持相同的偏移量?@JohanC我以前使用过这种方法。
import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

t = np.arange(0.0, 5.0, 0.01)
s = np.cos(2*np.pi*t)
line, = ax.plot(t, s, lw=2)

at = ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5),
        arrowprops=dict(facecolor='black', shrink=0.05),
        )
ax.set_ylim(-2, 2)