Matplotlib 图例中的字幕

2024-01-21

我正在使用 matplotlib 进行一些绘图,并且有一个图例告诉查看者这些点是用哪些传感器记录的。有多种类型的多个传感器,我希望在图例中添加字幕来告诉观众每组传感器的类型。我有一个可行的解决方案,但它有点像黑客,如下所示:

创建图例时,它接受两个重要参数:图例标记列表和图例标签列表。我当前的解决方案是将字幕标记设置为带有白色轮廓的白框,并让字幕标签由两个换行符包围。看起来还可以,但如果字幕不缩进的话,看起来会更专业。我尝试过的两种解决方法是将字幕的标记设置为“无”,并将字幕的标记设置为所需的字幕字符串,并将其标签设置为空字符串。两者都没有起作用。有人对这个有经验么?非常感谢。


我能想到的最好的办法就是为字符串创建一个自定义处理程序。

import matplotlib.pyplot as plt
import matplotlib.text as mtext


class LegendTitle(object):
    def __init__(self, text_props=None):
        self.text_props = text_props or {}
        super(LegendTitle, self).__init__()

    def legend_artist(self, legend, orig_handle, fontsize, handlebox):
        x0, y0 = handlebox.xdescent, handlebox.ydescent
        title = mtext.Text(x0, y0, r'\underline{' + orig_handle + '}', usetex=True, **self.text_props)
        handlebox.add_artist(title)
        return title


[line1] = plt.plot(range(10))
[line2] = plt.plot(range(10, 0, -1), 'o', color='red')
plt.legend(['Title 1', line1, 'Title 2', line2], ['', 'Line 1', '', 'Line 2'],
           handler_map={basestring: LegendTitle({'fontsize': 18})})

plt.show()

我基于这个例子http://matplotlib.org/users/legend_guide.html http://matplotlib.org/users/legend_guide.html.

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

Matplotlib 图例中的字幕 的相关文章

随机推荐

  • 在 data.table 中使用不同的列嵌套 ifelse

    我需要计算 a 的某些列的每一行的 最佳值 data table 每行的最佳值是按选定列的给定顺序排列的第一个非 NA 列的值 根据要求 要包含的列可能会因顺序或数量而异 此外 应为每行存储提供最佳值的列的名称 示例数据 With libr
  • Jquery UI 可删除

    Jquery UI droppable 是否能够与计算机内的文件交互 假设我的电脑上有一个图像文件 而不是在webpage我尝试将其放在上面并触发一个简单的警报来通知 仅使用 Jquery UI 可以吗 对于您所描述的内容 请使用HTML5
  • Eclipse:缺少 Eclipse 应用程序启动配置

    我想在 eclipse 的运行 调试配置中选择 Eclipse 应用程序启动配置 用于运行 eclipse 插件 但它不存在 如何在运行 调试配置中添加 Eclipse 应用程序启动配置 我正在使用面向 Java 开发人员的 Eclipse
  • 如何将十六进制转换为十进制?

    我有不同的十六进制数据传入并存储到整数类型寄存器中 当我使用 fprint 时 我可以看到以下内容 0x3076 0x307c 但是 我想显示上述十六进制数据的十进制版本 如下所示 12406 12412 理论上 假设对于第一个值 您可以执
  • 无法将 FTP 连接到 Azure 虚拟机

    我在 Azure 中配置了 Windows Server 2012 虚拟机 当我尝试通过 FileZilla FTP 客户端连接到它时 我得到一个Could not connect to server error 到目前为止 这是我尝试过的
  • Angular.js 更新指令中的 SVG 模板

    不久前我问过 Angular js 在指令中渲染 SVG 模板 https stackoverflow com questions 19568226 angular js rendering svg templates in directi
  • 稳定基线不适用于张量流

    因此 我最近重新回到机器学习领域 并决定开始 ConnectX 的 Kaggle 课程 https www kaggle com learn intro to game ai and reinforcement learning https
  • 如何将 C# 中的标签添加到 XAML 代码中的网格中?

    我有这个模板
  • python中的二分查找算法

    我正在尝试用 python 实现二分搜索 并将其编写如下 但是 只要needle element大于数组中的最大元素 我就无法让它停止 你能帮我吗 谢谢 def binary search array needle element mid
  • 为什么不调用重写的“operator new”?

    我在VS2005中运行以下代码 include
  • 将当前对象 ($this) 转换为后代类

    我有一个类 可能需要将对象更改为进一步的后代类 这可能吗 我知道一个选择是返回它的副本 但使用子类代替 但实际修改当前对象会很好 所以 class myClass protected var function myMethod functi
  • 从 Pandas 中的日期时间 <[M8] 中删除时间

    所以我的数据框中有一个 日期 列 其中日期的格式如下 0 1998 08 26 04 00 00 如果我只想要年月日 我该如何去掉琐碎的时间 最快的方法是使用 DatetimeIndex 标准化 您首先需要将该列设为 DatetimeInd
  • Flutter Web Firebase TypeError:dart.global.firebase.firestore 不是函数

    我正在尝试在我的 flutter web 项目中使用 Firebase 但应用程序无法使用此消息运行 TypeError dart global firebase firestore is not a function at Object
  • 减少 Android studio 中的 Gradle 同步时间

    我使用的是 16GB 内存 SSD 硬盘的 Mac 每次构建 清理或打开项目时 Gradle 同步仍然需要 15 分钟以上 是否有任何 Android Studio 优化可以减少这个时间 更新 所有这些都在一定程度上有所帮助 将所有编译 c
  • 角度材质 未显示在自定义组件中

    所以我做了很多研究 但我就是无法弄清楚 我想使用 Angular 材质表单控件制作一个文本框组件 按照此tutorial https material angular io guide creating a custom form fiel
  • FluentMigrator迁移成功,但数据库没有变化

    我一定错过了一些非常基本的东西 我正在开发一个遗留项目 并且我正在尝试将 FluentMigrator 加入其中 因为我有一些有趣的数据库 我认为即将发生的变化和数据迁移将会产生很大的影响 使用此工具更容易 对于初始迁移 我只想将数据库提升
  • Hibernate @Table 注解中的动态模式

    想象一下 您在两个环境中有四个 MySQL 数据库模式 foo 产品数据库 bar 正在进行的重组foo db foo beta 测试数据库 and bar beta 新结构的测试数据库 此外 假设您有一个 Spring Boot 应用程序
  • jqgrid rowattr 不应用类

    我想根据列的值将背景颜色应用于 jqGrid 行的行 但是基本 rowattr 并未将类应用于行 下面是代码 为了简单起见 我删除了需要应用颜色的条件 jQuery employeeSalarysGrid jqGrid height 250
  • Azure 托管代理 - Visual Studio 2017

    我在 Azure 中设置了托管代理来执行 CI 构建 但在构建失败之前的 Visual Studio 构建步骤中收到以下警告 找不到 Visual Studio 版本 15 0 正在寻找最新版本 查看托管代理的文档 它们似乎没有使用 Vis
  • Matplotlib 图例中的字幕

    我正在使用 matplotlib 进行一些绘图 并且有一个图例告诉查看者这些点是用哪些传感器记录的 有多种类型的多个传感器 我希望在图例中添加字幕来告诉观众每组传感器的类型 我有一个可行的解决方案 但它有点像黑客 如下所示 创建图例时 它接