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 通过轴获取所有注释 的相关文章

  • 关于使用Python启动SSH隧道的问题

    我在从用 Python 编写的 HTTP RPC 服务器启动 SSH 隧道时遇到了麻烦 基于Python的BaseHTTPServer 有一个用Python编写的简单的HTTP RPC服务器 作为其中一项服务的一部分 我想启动从 RPC 服
  • Python:多处理和请求

    以下是我正在运行的使用多处理并行触发 HTTP 请求的代码片段 在控制台上运行后 它挂在 requests get url 处 既不继续前进也不抛出错误 def echo 100 q print before r requests get
  • 按 ListProperty (NDB) 对查询进行排序

    如何按 ListProperty 对查询进行排序 该模型 class Chapter ndb Model title ndb StringProperty required True version ndb IntegerProperty
  • 使用 GeoDjango 在坐标系之间进行转换

    我正在尝试将坐标信息添加到我的数据库中 添加django contrib gis支持我的应用程序 我正在写一个south数据迁移 从数据库中获取地址 并向 Google 询问坐标 到目前为止 我认为我最好的选择是使用geopy为了这 接下来
  • 同情因子简单关系

    我在 sympy 中有一个简单的因式分解问题 无法解决 我在 sympy 处理相当复杂的积分方面取得了巨大成功 但我对一些简单的事情感到困惑 如何得到 phi 2 2 phi phi 0 phi 0 2 8 因式分解 phi phi 0 2
  • 01 无效令牌[重复]

    这个问题在这里已经有答案了 嘿 学习 python3有一段时间了 遇到字典和dictionary name get 方法并尝试获取随机键值 问题 data data get key 1 它有效并且返回 1 但如果我使用data get ke
  • 将 stdout 重定向到 Python 中的文件? [复制]

    这个问题在这里已经有答案了 如何将 stdout 重定向到 Python 中的任意文件 当长时间运行的 Python 脚本 例如 Web 应用程序 从 ssh 会话内启动并处于后台 并且 ssh 会话关闭时 应用程序将引发 IOError
  • Python 3.x 中的 PIL ImageTk 等效项

    我正在使用 Tkinter 开发一个应用程序 它使用以下数据库png图标的图像文件 为了在应用程序中使用所述图像 我使用 PIL 打开它们Image open 运行它通过ImageTk PhotoImage函数 然后将其传递给小部件构造函数
  • 打印一个 Jupyter 单元中定义的所有变量

    有没有一种更简单的方法来以漂亮的方式显示单个单元格中定义的所有变量的名称和值 我现在做的方式是这样的 但是当有30个或更多变量时我浪费了很多时间 您可以使用whos http ipython readthedocs io en stable
  • 检查对象数组中的多个属性匹配

    我有一个对象数组 它们都是相同的对象类型 并且它们有多个属性 有没有办法返回一个较小的对象数组 其中所有属性都与测试用例 字符串匹配 无论该属性类型是什么 使用列表理解all http docs python org 3 library f
  • 如何在Python中正确声明ctype结构+联合?

    我正在制作一个二进制数据解析器 虽然我可以依靠 C 但我想看看是否可以使用 Python 来完成该任务 我对如何实现这一点有一些了解 我当前的实现如下所示 from ctypes import class sHeader Structure
  • 将带有两层分隔符的字符串转换为字典 - python

    给定一个字符串 s x t1 ny t2 nz t3 我想转换成字典 sdic x 1 y 2 z 3 我通过这样做让它工作 sdic dict tuple j split t for j in i for i in s split n F
  • 将 ASCII 字符转换为“”unicode 表示法的脚本

    我正在对 Linux 区域设置文件进行一些更改 usr share i18n locales like pt BR 并且需要格式化字符串 例如 d m Y H M 必须以 Unicode 指定 其中每个 在本例中为 ASCII 字符表示为
  • 如何在 Spyder IDE 中安装 Selenium 包

    我刚刚在工作中安装了 Spyder IDE 仅 Spyder 不是整个 Anaconda 并且希望使用 FireFox 自动化我的工作 我的问题是 如何安装 Selenium 软件包 I figured it out Here is ins
  • 如何在包更新之间保留数据文件?

    我正在使用data files的论证setuptools setup 将配置文件安装到 etc和用户主目录 但是更新包pip install
  • 从 subprocess.Popen 获取整个输出

    我通过调用 subprocess Popen 得到了一个有点奇怪的结果 我怀疑这与我对 Python 的陌生有很大关系 args cscript USERPROFILE tools jslint js USERPROFILE tools j
  • python 的 fcntl.flock 函数是否提供文件访问的线程级锁定?

    Python 的 fcnt 模块提供了一种名为 flock 1 的方法来证明文件锁定 其描述如下 对文件执行锁定操作op 描述符 fd 文件对象提供 fileno 方法被接受为 出色地 请参阅 Unix 手册集群 2 了解详情 在某些系统上
  • 提供节点名或服务名,或未知

    我收到这个 Python 错误 File Library Frameworks Python framework Versions 2 7 lib python2 7 urllib2 py line 1184 in do open rais
  • 如何获取所有Python标准库模块的列表?

    我想要类似的东西sys builtin module names标准库除外 其他不起作用的事情 sys modules 只显示已经加载的模块 sys prefix 包含非标准库模块并且似乎无法在 virtualenv 内工作的路径 我想要这
  • 将笔记本生成的 HTML 片段转换为 LaTeX 和 PDF

    在我的笔记本里有时会有 from IPython display import display HTML display HTML h3 The s is important h3 question of the day 但当我后来将笔记本

随机推荐

  • 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