如何在 matplotlib 中将文本框直接放置在图例下方?

2024-02-05

Using matplotlib,我想在图例下方放置一个文本框,其中包含有关该图的一些注释。我的图例位于右侧的轴之外。我的计划是找到图例在图形参考系中的位置,然后使用text图中的方法来放置我的笔记。然而,我不能figure了解如何获取这些图例坐标。任何建议或替代计划将不胜感激。


显然,只有在渲染后才能读取图例的位置。坐标将以像素为单位。因此,可以使用创建一个新轴fig.add_axes它将位于图例下方,使用图例的坐标和图形的尺寸。这是一个例子:

from matplotlib.pyplot import subplots
fig,ax = subplots()
fig.subplots_adjust(right=0.75)
ax.plot([0,1],'.-',label="line1")
ax.plot([0.1,1.1],'.-',label="line2")
leg = ax.legend(bbox_to_anchor=(1.05, 1),loc=2, borderaxespad=0)

fig.canvas.draw() # this draws the figure
                  # which allows reading final coordinates in pixels
leg_pxls = leg.get_window_extent()
ax_pxls = ax.get_window_extent()
fig_pxls = fig.get_window_extent()

# Converting back to figure normalized coordinates to create new axis:
pad = 0.025
ax2 = fig.add_axes([leg_pxls.x0/fig_pxls.width,
                    ax_pxls.y0/fig_pxls.height,
                    leg_pxls.width/fig_pxls.width,
                    (leg_pxls.y0-ax_pxls.y0)/fig_pxls.height-pad])

# eliminating all the tick marks:
ax2.tick_params(axis='both', left='off', top='off', right='off',
                bottom='off', labelleft='off', labeltop='off',
                labelright='off', labelbottom='off')

# adding some text:
ax2.text(0.1,0.1,"some text\nabout the\nlines")

生成这个数字:

如果不需要,可以轻松关闭框架。

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

如何在 matplotlib 中将文本框直接放置在图例下方? 的相关文章

随机推荐

  • 没有 AJAX 的 ASP.NET MVC + jqGrid

    我有一个 ASP NET MVC 应用程序 它正在对产品数据库执行搜索 我想使用 TreeGrid 模块在 jqGrid 中显示结果 我真的不需要网格是 AJAX y 的 因为数据是静态的 而且它足够小 可以一次全部发送到客户端 第一个问题
  • 在 AppSettings.json 中配置 Serilog 接收器 MsSqlServer 的列选项

    我正在尝试确定是否可以在中配置 serilog 接收器 mssqlserver 的列选项appsettings jsonASP Net Core 2 项目的文件 我在中创建并配置记录器Program cs file public stati
  • 当调用 beginResponder 时,UITextView 使应用程序崩溃

    我有一个UITextView in a UIView 当 viewLoad 时 我有一个UIPickerView在一个UIAlertView with OK 按钮 当我从选择器中选择任何值时单击 确定 我需要做UITextView 活动 为
  • Selenium WebDriver 与 Jenkins

    我正在考虑将 Selenium WebDriver 与 Jenkins 一起使用 我们有一个在 Windows Server 2008 下运行的 Jenkins 服务器 想要运行我所有的测试用例 我正在使用 mstest 而且我已经在 Wi
  • 是否有任何 javascript 库可用于处理 hashbang/shebang (#!) url?

    鉴于 Twitter 和 Gawker 使用 hashbang url 的负面新闻 我很难找到任何示例 库来了解如何实际使用它们 我想在我们网站上的 javascript 轮播中使用 hashbang url 以便我们可以直接链接到轮播的特
  • Powershell 中的 HashSet:集合具有固定大小

    我有一个电源外壳函数如下 Function GetAllIdentityProvidersFromDatabase param string SQLConnectionSting AllIdPIdentifiers New Object S
  • 想要使用 N1QL Couchbase 将内部元素与 JSON 求和

    当我运行下面的查询时 SELECT FROM myBucket WHERE ANY x IN transactions SATISFIES x type in 0 4 END Result type Company created 2015
  • 在 Excel 中将具有相同值的多行合并为一加多...

    我有一个产品 ID 和订单号列表 每个订单号可以有多个产品 ID 因为一个人可以购买不止一件商品 我的目标是将每个订单号和与其关联的产品 ID 合并到一行中 如果每个订单有多个产品 ID 请用逗号分隔它们 请参见下图 我想避免使用手动方法
  • IE6 中的 3 像素额外空间

    有人可以弄清楚这里发生了什么以及我该如何解决它吗 我正在测试这一页 http www bookcraft co uk index php在 IE6 IE7 FF 和 Chrome 中 它适用于除 IE6 之外的所有版本 其中 小鸡图片的边缘
  • 为什么在生成服务引用时,s:date 类型的 XSD 元素会变成字符串?

    我正在尝试从 WSDL 创建一个新的服务引用 并且我希望所有属性都是 DateTime 而不是字符串 例如 联系人的 xsd 定义
  • 对 C++ Primer 示例中的控制流执行感到困惑

    我正在阅读 C Primer 第五版 在1 4 4节中 有以下示例 include
  • 在 Android Studio 中使用 ZXING 更改 QR 扫描仪方向

    我希望你能帮我解决这个问题 我使用 Zxing 嵌入式库来使用 QR 扫描仪 问题是处于横向模式 我想将其更改为纵向 我的 Gradle 依赖项中有这个 compile com journeyapps zxing android embed
  • LL 自顶向下解析器,从 CST 到 AST

    我目前正在学习语法分析 尤其是自上而下的解析 我知道术语以及与自下而上的 LR 解析器的区别 并且由于自上而下的 LL 解析器更容易手动实现 所以我期待着制作自己的解析器 我见过两种方法 递归下降使用一组递归函数 基于堆栈和表驱动的自动机为
  • 计算变量的 5 个最高值

    我正在使用 R 尝试获取每个用户最喜欢的 5 首歌曲 以及他们播放最多的歌曲 我目前有计算播放次数最多的歌曲的代码 但我想知道如何获取该用户接下来播放次数最多的 4 首歌曲 假设每个用户至少播放了 5 首歌曲 我是否必须从数据集中消除最高值
  • 启动 Google App Engine Web 服务器

    我正在使用 PHP 浏览 Google App Engine 的 helloworld 教程 https developers google com appengine docs php gettingstarted helloworld
  • Opa:迭代 stringmap 并基于它形成一个新字符串

    我正在编辑你好维基 http doc opalang org manual Hello wiki 来自 Opa 文档的代码 我想要一个维基主题包含数据库中现有主题的列表 我有一个在默认主题上调用的函数 Collect all created
  • 如何在 Git 中获取合并提交的父级?

    一些 Git 命令将父级命令作为修 订版 其他 例如git revert 作为父编号 我怎样才能找到这两种情况的父母 我不想使用图形日志命令 因为这通常需要向下滚动长树才能找到第二个父级 Simple git log
  • 在 CMake 中转义 $ 美元符号

    我正在尝试通过以下方式在 CMake 3 1 1 中运行构建后命令 ADD CUSTOM COMMAND TARGET mytarget POST BUILD COMMAND for i in ls do echo i done 然而 尽管
  • Java中获取包装类类型的简单方法

    我有一段代码 我需要在方法中传递字段的类 由于我的代码机制 我只能处理引用对象 而不能处理基元 我想要一种简单的方法来确定是否Field的类型是原始类型 并将其与适当的包装类交换 所以在代码中我到目前为止所做的是这样的 Field f ge
  • 如何在 matplotlib 中将文本框直接放置在图例下方?

    Using matplotlib 我想在图例下方放置一个文本框 其中包含有关该图的一些注释 我的图例位于右侧的轴之外 我的计划是找到图例在图形参考系中的位置 然后使用text图中的方法来放置我的笔记 然而 我不能figure了解如何获取这些