MatplotLib 通过轴获取所有注释

2023-12-31

我正在用 Python 和 Tkinter 做一个项目。我可以绘制一组数据,并且还实现了一个在单击鼠标时在绘图上添加注释的功能,但现在我需要我添加的所有注释的列表。有什么办法可以做到这一点吗? 这是我添加注释的功能:

def onclick(self, event):

    clicked = []
    key = event.key
    x = event.xdata
    y = event.ydata

    x_d = min(range(len(self.x_data)), key=lambda i: abs(self.x_data[i] - x))
    local_coord = self.x_data[x_d - 6:x_d + 6]
    x_1 = max(local_coord)
    indx = np.where(self.x_data == x_1)[0][0]
    y_1 = self.y_data[indx]



    if key == "v":
        self.ax.annotate("{0}nm".format(int(x_1)), size=25,
                         bbox=dict(boxstyle="round",fc="0.8"),
                         xy=(x_1, y_1), xycoords='data',
                         xytext=(x_1, y_1+50), textcoords='data',
                         arrowprops=dict(arrowstyle="-|>",
                                         connectionstyle="bar,fraction=0",
                                         ))

    self.canvas.draw()

你可以循环所有ax孩子并检查孩子是否属于类型matplotlib.text.Annotation:

for child in ax.get_children():
    if isinstance(child, matplotlib.text.Annotation):
        print("bingo") # and do something

或者,如果您想要一个列表:

annotations = [child for child in ax.get_children() if isinstance(child, matplotlib.text.Annotation)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MatplotLib 通过轴获取所有注释 的相关文章

  • InterfaceError:连接已关闭(使用 django + celery + Scrapy)

    当我在 Celery 任务中使用 Scrapy 解析函数 有时可能需要 10 分钟 时 我得到了这个信息 我用 姜戈 1 6 5 django celery 3 1 16 芹菜 3 1 16 psycopg2 2 5 5 我也使用了psyc
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 如何生成给定范围内的回文数列表?

    假设范围是 1 X 120 这是我尝试过的 gt gt gt def isPalindrome s check if a number is a Palindrome s str s return s s 1 gt gt gt def ge
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 表达式中的 Python 'in' 关键字与 for 循环中的比较 [重复]

    这个问题在这里已经有答案了 我明白什么是in运算符在此代码中执行的操作 some list 1 2 3 4 5 print 2 in some list 我也明白i将采用此代码中列表的每个值 for i in 1 2 3 4 5 print
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9

随机推荐

  • SQL Server:分割记录

    我有一个这样的表 account check1 check2 1 100 200 300 101 209 305 2 401 502 404 511 3 600 601 我想将记录分成这样的内容 account check1 check2
  • 如何更新 mongoose 默认字符串架构属性修剪?

    我希望每个字符串属性默认都设置为 true 有办法吗 mongoose Schema String gt default trim true var schema new Schema p1 type String p2 type Stri
  • pandas groupby 日期在一个季度内

    我有两家公司的年末不同 1 31 和 12 31 我想获得各自季度发生的指标的平均值 在此示例中 我创建了一个 DataFrame 其中包含两家公司 2016 2017 年的 8 个季度末日期 comp1 pd date range 1 3
  • 如何确定更快的 RCNN (PyTorch) 的验证损失?

    我按照本教程进行对象检测 https pytorch org tutorials intermediate torchvision tutorial html https pytorch org tutorials intermediate
  • Delphi 在类过程中使用反射来获取动态类类型

    我想在类过程 函数 静态方法 中使用当前类的反射 不使用 Self 关键字怎么办 如果没有对类名进行编码 这个过程应该在后代中被覆盖 class procedure AAA SetTableAndSequence var c TRttiCo
  • 当当前元素居中时,如何让下一个元素居中滚动?

    我想做的事 这样 最初是切换滚动 当当前 活动 元素到达中心时 下一个元素也希望能够在中心滚动 当它看到底部元素时 滚动停止并更改为切换滚动 当前状态 我已经有一个开关卷轴和一个获取中心的代码 演示 JSFiddle https jsfid
  • 在 C++ 中将文件名作为参数传递

    我必须在 C 程序的参数中传递四个不同的文本文件 我该如何通过 int main int argc char argv std vector
  • 我该如何用 javascript 编写一个解释器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • AVX 将 64 位整数转换为 64 位浮点数

    我想使用 AVX 将 4 个打包 64 位整数转换为 4 个打包 64 位浮点数 我尝试过类似的事情 int 64t ls int64 t mm malloc 256 32 ls 0 a ls 3 d mm256i packed mm256
  • 如何使用awk打印一系列单词?

    我知道awk可用于仅打印输出中的某些单词 例如 dpkg l awk print 2 将打印输出中的第二个单词dpkg l 我想要做的是 打印给定单词后的每个单词 我的命令如下所示 awk printf 40s s n 1 n 而不是打印所
  • 如何去除iOS 7中的UINavigationBar内部阴影?

    内阴影示例 http imageshack us photo my images 20 9hnx png 我试图将导航栏放在另一个导航栏下方 使其看起来像一个高导航栏 但在 iOS 7 中 UINavigationBar 现在在其顶部和底部
  • 如何从 ruby​​ 中的字符串中提取浮点数? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有包含一定数量不同货币的字符串 例
  • 如何将phonegap应用程序直接部署到设备

    我已经设置了一个 Phonegap 3 3 0 项目 并且工作得很好 我可以从 pat 的 cmd 构建一个 APK jamie Hutber 8 c var www sexdiaries co uk sdapp app phonegap
  • 为什么js最接近的方法找不到兄弟元素?

    Note 据我所知closest 方法在 DOM 树中搜索与指定 CSS 选择器匹配的最近元素 当我点击margin两个之间的空间li元素 它返回null 但如果我更换margin bottom 15px with padding bott
  • 在Oracle中计算总时间

    我在Oracle中有这个表 电子邮件和时间是varchar Email Time email protected cdn cgi l email protection 00 10 40 email protected cdn cgi l e
  • “string”的类型不正确(预期为 str,得到了 spacy.tokens.doc.Doc)

    我有一个数据框 train review train review train review 看起来像 0 With all this stuff going down at the moment w 1 The Classic War o
  • Spark SQL 2.0:带有有效 PostgreSQL 查询的 NullPointerException

    我有一个有效的 PostgreSQL 查询 当我将其复制 粘贴到 PSQL 中时 我得到了所需的结果 但是当我使用 Spark SQL 运行时 它会导致NullPointerException 这是导致错误的代码片段 extractData
  • 来自 Python 的 URL 请求

    我有一个正在运行的服务器 它总是在监听value field 我可以通过 URL 从网络浏览器发出请求 Eg http 192 168 1 101 value 1 我怎样才能从Python发出这样的请求 我尝试了上面的代码 但它似乎不起作用
  • 什么可以保护 Android AccountManager 密码不被其他应用读取?

    我正在编写 1 一个在 AccountManager 中存储用户名和密码的应用程序 以及 2 一个单独的后台服务应用程序 用于访问这些凭据以登录我的服务器等 通过使用这个 我发现我能够从服务 应用程序 2 调用 AccountManager
  • MatplotLib 通过轴获取所有注释

    我正在用 Python 和 Tkinter 做一个项目 我可以绘制一组数据 并且还实现了一个在单击鼠标时在绘图上添加注释的功能 但现在我需要我添加的所有注释的列表 有什么办法可以做到这一点吗 这是我添加注释的功能 def onclick s