在 Matplotlib 中使用注释将文本框放置在图例下方

2024-02-14

我希望使用 annotate() 在 Matplotlib 图中显示一些文本,并在图例框下方对齐。我已经检查了中提出的解决方案如何在 matplotlib 中将文本框直接放置在图例下方? https://stackoverflow.com/questions/42299383/how-to-place-a-text-box-directly-below-legend-in-matplotlib/49314045#49314045并且可以做出适合我的情况的调整,但是添加额外的轴等对于我的情况来说似乎有点过分了。我只是想放置一个注释,其右上角位于图例框右下角下方 20 像素处。 我还希望保存该图的 PDF 文件。

这是我的代码。

import matplotlib.pyplot as plt
import matplotlib.text

fig, ax = plt.subplots()

ax.plot([5,1], label="Label 1")
ax.plot([3,0], label="Label 2")

legend = ax.legend(loc="upper right")

# Create offset from lower right corner of legend box,
# (1.0,0) is the coordinates of the offset point in the legend coordinate system
offset = matplotlib.text.OffsetFrom(legend, (1.0, 0.0))
# Create annotation. Top right corner located -20 pixels below the offset point 
# (lower right corner of legend).
ax.annotate("info_string", xy=(0,0),size=14,
            xycoords='figure fraction', xytext=(0,-20), textcoords=offset, 
            horizontalalignment='right', verticalalignment='top')
# Draw the canvas for offset to take effect
fig.canvas.draw()

fig.savefig('plot1.png')
fig.savefig('plot1.pdf')

plt.show()

当该图首次显示时,它看起来是正确的,信息文本正确位于图例下方。此外,保存的 png 文件也能正确显示。但是,pdf 输出中缺少文本。

不知道是不是我的理解有偏差,或者有什么问题。谁能解释一下为什么 pdf 输出不正确?

PNG输出

pdf输出

(matplotlib=2.2、python=2.7.13、Windows 7)


None

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

在 Matplotlib 中使用注释将文本框放置在图例下方 的相关文章

  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 使用带有关键字参数的 map() 函数

    这是我尝试使用的循环map功能于 volume ids 1 2 3 4 5 ip 172 12 13 122 for volume id in volume ids my function volume id ip ip 我有办法做到这一点
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • Python - StatsModels、OLS 置信区间

    在 Statsmodels 中 我可以使用以下方法拟合我的模型 import statsmodels api as sm X np array 22000 13400 47600 7400 12000 32000 28000 31000 6
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 在 MatPlotLib 中检索自定义破折号

    关于如何使用 matplotlib 线中设置自定义破折号有很多问题Line2D set linestyle and Line2D set dashes 但是 我似乎找不到在设置后检索破折号图案的方法 这是在主站点上设置破折号的示例 我将在下
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • 导入错误:没有名为 site 的模块 - mac

    我已经有这个问题几个月了 每次我想获取一个新的 python 包并使用它时 我都会在终端中收到此错误 ImportError No module named site 我不知道为什么会出现这个错误 实际上 我无法使用任何新软件包 因为每次我
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • 如何将 jPCT 与 Vuforia SDK 结合使用?

    有人可以概述一下混合 Jpct 和 Qualcomm Vuforia SDK 的情况吗 将 Java 渲染引擎与 Vuforia 结合使用是个好主意吗 基本上 QCAR 的全部工作就是计算变形的预定义目标图像的变换矩阵 它为您提供了两个重要
  • 新的 Angular2 路由器配置

    回到使用已弃用的路由器时 我能够执行 router config 并传入一个对象 事实是 路由器本身在应用程序启动后进行了一些配置 该对象具有相同的 模板 就像我使用了 RouterConfig 一样 我正在寻找的是是否有一种方法可以像这样
  • POST 403 Forbidden for Chrome 扩展(后端为 Django)

    我以前从未开发过 Chrome 扩展程序 目前正在为我的 Django 应用程序开发 Chrome 扩展程序 具有链接提交功能 当我尝试使用扩展程序提交链接时 出现以下错误 POST http 127 0 0 1 8000 add link
  • 找到未使用的 Javascript 函数?

    我的应用程序中有大约 100 个 js 文件 我需要从这些文件中找到未使用的函数 哪个编辑器或工具可以帮助我 看看JSLint http jslint com help html代码质量工具
  • 如何在 Windows Phone 中对 LongListSelector 进行排序

    我希望能够按升序或降序对绑定到 LongListSelector 的数据进行排序 我无法将排序后的数据绑定到我的 LongListSelector 最初 我的解决方案没有尝试实现排序 而是有效的 但我相信在涉及排序时我遗漏了一些东西 我也尝
  • Google Play Android .apk 上传“无法运行 aapt dump badging”

    自从我上次将应用程序上传到 Google Play 开发者控制台以来已经快一年了 这是我已经签名并压缩对齐的 Cordova 应用程序 按照我过去成功使用的相同流程 我现在收到以下错误 上传失败 无法使用 aapt dump badging
  • 使用 POST 在 R 中抓取动态表

    我正在努力刮这张桌子 http myfwc com wildlifehabitats managed alligator harvest data export 使用 R 到目前为止 我使用下面的代码只得到了 27 行 我想取回所有条目 并
  • 在 iOS 上通过 上传存储在云服务上的文件 0 字节

    我无法弄清楚为什么某些从 iOS 上传到我们服务器的内容会导致空文件 上传页面是一个简单的表单 使用 POST 和 enctype 作为 multipart form data 该问题似乎仅在用户执行以下操作时才会出现 正在使用 iOS 尝
  • 已分析与未分析:存储大小

    我最近开始使用 ElasticSearch 2 据我了解analyzed vs 未分析在映射中 not analyzed 在存储中应该更好 https www elastic co blog elasticsearch storage th
  • 在Android上加载依赖的共享库

    我正在移植大量本机代码和几个相互依赖的库 加载代码失败 因为 Android 链接器仅查找依赖项 system lib 并且不在应用程序安装目录中 data data com packagename nnn lib 作为第一个解决方法 我使
  • Chrome 显示 Lottie 动画模糊

    我遇到了缩放 Lottie 动画的问题 Chrome 模糊了动画 当动画缩放时 这一点尤其明显 在我的示例中 原始动画的尺寸为 842x596px 渲染效果越小 效果越差 如果您想在 Chrome 浏览器中重现它 这里是示例代码 lotti
  • 为带有条件编译的产品实现工厂模式

    我想以一种允许我在不引入类型依赖的情况下编译代码的方式实现工厂 或其他模式 enum CarType BMW PORSCHE MERC class CarFactory public static Car create CarType ty
  • 在 Google 电子表格中复制/粘贴数据验证

    我觉得自己有点傻 无法弄清楚这一点 这是我设置的数据验证 单元格范围 Journal J2 标准 从范围中列出 Journal W2 X2 细胞范围 Journal M2 标准 从范围中列出 Journal Y2 AA2 这在我的第一排很棒
  • SwiftUI Preview 不适用于 FetchRequest 和 Init

    我遇到了 SwiftUI Preview 有时无法工作的问题 但没有给我任何错误 只是一个空白的画布 我已经缩小了问题范围 当我将 fetchRequest 与 init 一起使用时它不起作用 但我不知道下一步该做什么 预览适用于以下代码
  • HTML 5 在 Firefox 上的性能?

    我在这里尝试了这个示例 http 9elements com io projects html5 canvas http 9elements com io projects html5 canvas 几分钟后 Firefox 速度变慢 我什
  • 从核心文件恢复程序状态

    在任何情况下 是否有可能将程序的状态恢复到生成核心文件期间的状态 我问的原因是 为了利用 gdb 执行函数等的能力 您需要有一个正在运行的实例 当然应该可以生成同一可执行文件的模拟进程 并将状态设置为核心的内容 如果不是 对于最初让我想要这
  • 启动没有 Activity 的 Android 应用程序

    我有一个旨在仅作为服务运行的应用程序 没有界面 仅在后台运行 我的 AndroidManifest xml 中没有提到任何活动 但放置了一个接收器以在手机启动时启动应用程序
  • 如何从 kubernetes 中的 dockerhub 拉取镜像?

    我计划在我的 kubernetes 集群基础设施中部署一个应用程序 我将图像推送到 dockerhub 存储库 如何从 dockerhub 拉取镜像 一行命令创建 Docker 注册表机密 kubectl create secret doc
  • 如何在c中调用的matlab函数中使用“全局静态”变量

    您好 我目前正在使用 MATLAB 和 C 进行编码 我已使用以下命令将 MATLAB 函数编译到 C 共享库中 MATLAB编译器 http www mathworks com help compiler shared libraries
  • 在 Matplotlib 中使用注释将文本框放置在图例下方

    我希望使用 annotate 在 Matplotlib 图中显示一些文本 并在图例框下方对齐 我已经检查了中提出的解决方案如何在 matplotlib 中将文本框直接放置在图例下方 https stackoverflow com quest