如何响应python中鼠标指针的悬停在绘图上显示注释?

如何响应python中鼠标指针的悬停在绘图上显示注释?,python,matplotlib,plotly,Python,Matplotlib,Plotly,我有一个csv,其中包含年份和文本(演讲稿) 我已经将其加载到数据帧中并完成了预处理 然后,我有一个新的数据框,它包含单词和它们每年的频率,看起来像这样 “word”列包含原始单词。像“1970”这样的专栏包含了那个特定年份演讲中“单词”出现的频率。因此,“年”列包含“单词”列中提到的单词频率 我想象了每年在一个情节中说出的前五个单词。一个图形中的所有数据有两个轴,x轴为年份,y轴为频率,数据点或图例旁边的字 我想更改这些对鼠标悬停敏感的注释。仅当鼠标悬停在它们上方时,才应显示该图标。现在是这

我有一个csv,其中包含年份和文本(演讲稿)

我已经将其加载到数据帧中并完成了预处理

然后,我有一个新的数据框,它包含单词和它们每年的频率,看起来像这样

“word”列包含原始单词。像“1970”这样的专栏包含了那个特定年份演讲中“单词”出现的频率。因此,“年”列包含“单词”列中提到的单词频率

我想象了每年在一个情节中说出的前五个单词。一个图形中的所有数据有两个轴,x轴为年份,y轴为频率,数据点或图例旁边的字

我想更改这些对鼠标悬停敏感的注释。仅当鼠标悬停在它们上方时,才应显示该图标。现在是这样,,

注释和要点已完成。已尝试的游标或事件无效

import matplotlib.pyplot as plt

RANGE=(1970, 1974)
plt.xticks(range(*RANGE))
plt.xlim(RANGE)

def show(year, n=5):
"Add the top-n words for a year to the current plot"
 top5 = freqs_df.nlargest(n, columns=year)
 plt.scatter([year]*n, top5[year],picker=True)
 for _,row in top5.iterrows():
    annotate = plt.annotate(row['word'], (year, row[year]))
    annotate.set_visible(True)


for year in range(*RANGE):
  show(year)

 plt.show()
将鼠标悬停,而不是在整个绘图中添加注释


这不是本文中提到的。这个问题的答案不是我们想要的,因为它是对“点击”而不是“悬停”的响应。

这不起作用。在副本上接受的答案明确地作用于“悬停”,而不是“点击”,所以它正是我们想要的。如果对你的案例不起作用,请确保通过提供一个(即你实际尝试使用该解决方案的可运行代码)让人们能够复制它,或者通过编辑此问题,或者通过询问一个新问题。谢谢,添加了更多细节。这不起作用。对复制的公认答案明确地适用于“悬停”,而不是“悬停”“单击”,所以这正是要求的。如果它不适用于您的案例,请确保通过提供一个(即,您实际尝试使用该解决方案的可运行代码)或编辑此问题,或询问一个新问题,让人们能够复制它。谢谢,添加了更多详细信息。