如何确保我的 matplotlib 轴属于自定义类?

2024-05-11

我有一个自定义图形类,并希望确保与其关联的所有轴,无论是使用subplots() or twinx()等具有自定义行为。

现在,我通过在创建每个轴后将新方法绑定到每个轴来实现这一点,例如通过使用

import types

def my_ax_method(ax, test):
    print('{0} is doing something new as a {1}.'.format(ax, test))

class MyFigure(matplotlib.figure.Figure):
    def __init__(self, **kwargs):
        super(MyFigure, self).__init__(**kwargs)            
        axes_a = None
        axes_b = None
        axes_c = None

    def setup_axes(self, ax):    
        self.axes_a =  ax
        self.axes_b = self.axes_a.twinx()
        self.axes_c = self.axes_a.twiny()    
        self.axes_a.my_method = types.MethodType(my_ax_method, self.axes_a)
        self.axes_b.my_method = types.MethodType(my_ax_method, self.axes_b)
        self.axes_c.my_method = types.MethodType(my_ax_method, self.axes_c)

在类似的事情中

    fig, ax = matplotlib.pyplot.subplots(FigureClass=MyFigure)
    fig.setup_axes(ax)

    fig.axes_a.my_method("probe of A")
    fig.axes_b.my_method("test of B")
    fig.axes_c.my_method("trial of C")

这似乎是完成我想做的事情的一种脆弱的方式。有没有更好、更 Pythonic 的方法来解决这个问题?

特别是,有没有一种方法可以确保所有Axes我的习惯Figure类属于特定类(就像对数字本身所做的那样 https://stackoverflow.com/a/27470938/656912): 一个习俗Axes我自己的类可以将这些方法作为其定义的一部分吗?


None

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

如何确保我的 matplotlib 轴属于自定义类? 的相关文章

  • Python ImageTk.PhotoImage 使用 alpha 通道缓慢加载 png

    我编写了一个小程序来加载和显示图像 一切正常 直到我到达 示例中的 png 文件 shade png 显示这张小图片需要七七秒 PhotoImage 是否有错误或者我错过了一些 范围 这是我的示例代码 from PIL import Ima
  • numpy.linalg.inv() 是否给出了正确的矩阵逆?编辑:为什么 inv() 给出数值错误?

    我有一个矩阵形状 4000 4000 我想取逆矩阵 我对逆矩阵的直觉因如此大的矩阵而崩溃 起始矩阵的值大小为e 10 具有以下值 print matrix给出一个输出 2 19885119e 10 2 16462810e 10 2 1306
  • django/whitenoise 存储后端导致错误

    我在调试关闭时在 heroku 上运行 django 应用程序时遇到了 500 错误 使用 rollbar 了解发生错误的原因后 它报告了以下内容 ValueError The file media img 1 jpg could not
  • 在python中浏览ftp目录

    我正在尝试使用 ftplib 使用 Python 3 从 ftp 服务器下载多个文件夹 我有一个文件夹名称列表 它们都位于文件夹 root 中 问题是我不知道如何浏览它们 当我使用cwd我可以进入更深的目录 但是如何再次起来呢 我正在尝试得
  • 如何在 Google App Engine 中为模型定义唯一属性?

    我需要一些独特的属性 我怎样才能实现这个目标 有没有类似的东西unique True 我正在使用适用于 Python 的 Google App Engine Google 提供了执行此操作的函数 http code google com a
  • python请求:重试直到收到有效响应

    我想知道是否存在重试请求一定次数的常见模式 可能由于服务器错误或网络不良而失败 我想出了这个 并且我愿意在那里找到更好的实现 cnt 0 while cnt lt 3 try response requests get uri if res
  • 类型错误:无法连接“str”和“instance”对象(python urllib)

    写一个python程序 我在使用时遇到了这个错误urllib urlopen功能 Traceback most recent call last File ChurchScraper py line 58 in
  • 如何让MagicMock返回多个值

    我想模拟一个图书馆 matplotlib对于它的价值 并且遇到一个问题 当调用模拟并期望返回元组时 它会失败 有一个更好的方法吗 Python 3 7 2 default Jan 13 2019 12 50 15 Clang 10 0 0
  • 如何将文本文件中的十六进制行转换为数组(Python)?

    我有一个文本文件 每行包含一个十六进制明文 我的文件如下所示 7a8e5dc390781eab8df2c090bf4bebca dbac0fba55d3d4fc177161bfe24dc7fb 82e5a7a021197f6fbe94a86
  • 如何在 PySide/PyQt 中制作一个位于屏幕中央的小部件?

    这段代码有效 但我想知道是否有更简单的方法 def center self qr self frameGeometry cp gui QDesktopWidget availableGeometry center qr moveCenter
  • Python 对象初始化错误。或者我误解了对象的工作原理? [复制]

    这个问题在这里已经有答案了 1 import sys 2 3 class dummy object 4 def init self val 5 self val val 6 7 class myobj object 8 def init s
  • 继承类中的python __init__方法[重复]

    这个问题在这里已经有答案了 我想为子类提供一些额外的属性 而不必显式调用新方法 那么有没有办法给继承的类一个 init 不重写的类型方法 init 父类的方法 我编写下面的代码纯粹是为了说明我的问题 因此属性等的命名很糟糕 class in
  • 在 PyQt 中使用 Windows 7 任务栏功能

    我正在寻找有关将一些新的 Windows 7 任务栏功能集成到我的 PyQt 应用程序中的信息 具体来说 如果已经存在使用新进度指示器的可能性 see here http www petri co il wp content uploads
  • os.path.expanduser("~") 的替代方案?

    在Python 2 7 x中 os path expanduser Unicode 已损坏 这意味着如果 的扩展中包含非 ASCII 字符 则会出现异常 http bugs python org issue13207 http bugs p
  • VS Code Pylance 不突出显示变量和模块

    我正在使用带有 Python 和 Pylance 扩展的 VS Code 我遇到的问题是 Pylance 扩展没有对模块和数据框等内容进行语法突出显示 我希望顶部的模块为绿色 df 变量为蓝色 我正在使用默认的深色 颜色主题 这是我的 VS
  • 如何下载和使用对象检测数据集(例如 coco 或 pascal)

    我对物体检测领域非常陌生 我想知道是否有人可以帮助我下载和使用对象检测数据集 例如 coco 或 pascal 当我下载数据集后访问他们的网站时 我觉得我不知道应该如何处理它们 我知道这个问题很愚蠢 但是开始的提示可能非常有用 谢谢 我正在
  • 是否有比 .apply() 更慢或更受控制的替代方案?

    所以这似乎是一个奇怪的问题 但我有一只熊猫DataFrame其中包含地址 我想对其进行地理编码 以便获得纬度和经度 我有可以使用的代码 apply 感谢这个非常有帮助的线程 使用 geopy pandas 的新列坐标 https stack
  • 使用 PyCharm 分析 Django

    即使在开发环境中 我的应用程序也相当慢 所以我想找出是什么导致它变慢 以便我可以尝试修复它 我了解调试工具栏 根据它的报告 数据库查询和下载的源都不是问题 所以它一定是业务逻辑 但是 我无法使用 Django 服务器运行 PyCharm 分
  • 从 s3 获取 ogg 轨道的长度而不下载整个文件

    如何在不下载整个文件的情况下获取 ogg 文件的播放长度 我知道这是可能的 因为 HTML5 标签和 VLC 都可以在加载 URL 后立即显示整个播放长度 而无需下载整个文件 有标题或我可以阅读的内容吗 也许甚至是比特率 我可以将其除以文件
  • 媒体文件上的 404 - Django

    昨晚我将项目上传到 pythonanywhere com 我想在那里测试我的项目生产设置 在我允许的模型之一中用户上传JPG 团队徽标 上传过程运行良好 文件位于我的 MEDIA ROOT 中 问题是 当我尝试在模板中访问它 以将其显示在页

随机推荐

  • 使用 Wordpress 验证 Flask API

    我有两个网站 一个托管大部分内容的 WordPress 博客 我还用 Flask 编写了一个 API 我想在 Wordpress 受密码保护的页面 中使用 API 但我需要在 Flask 响应之前验证请求是否经过身份验证 当我收到对 Fla
  • 在 Objective-C 中比较两次的最好/最简单的方法是什么?

    我有一个时间的字符串表示形式 例如 11 13 AM 这是使用 NSDateFormatter 和 stringFromDate 方法生成的 我想将此时间与当前时间进行比较 但是当我使用 dateFromString 方法将字符串转回日期时
  • C# - 获取所有 Firefox 实例中所有打开的浏览选项卡

    如何获取 Chrome 和 Firefox 打开页面的 URL https stackoverflow com questions 7814027 how can i get urls of open pages from chrome a
  • BitmapFactory 解码 BMP 图像

    我在用这段代码 http android developers blogspot com 2010 07 multithreading for performance html从 Android 开发者博客下载 BMP 文件 例如this
  • 找不到 IIS Express 静态文件

    首先我要说的是 我有 Linux 背景 在 Windows 上进行开发对我来说相当陌生 我正在开发一个在 Visual Studio 中打开的 ASP NET 项目 该项目最初设置为通过 IIS 运行 VS 主动询问我是否愿意尝试 IIS
  • 忽略 gcc/clang 的“-Wmissing-braces”警告是否明智?

    考虑以下程序 include
  • 枚举所有可能的二元组星座

    我正在寻找一种方法来枚举 n 个成员的所有可能的两人组星座 例如 对于 n 4 个成员 以下 3 个独特的组星座是可能的 请注意 组内成员的顺序和组顺序都不重要 1 2 3 4 1 3 2 4 1 4 2 3 例如 对于 n 6 个成员 可
  • 字符串到数组,按第三个字/列排序

    我有一个包含数字 单词和换行符的字符串 我将其拆分为一个数组 如果我跑Array Sort lines 它将按第 1 列对数组进行数字排序 Number 我怎样才能按第 3 列的字母顺序对数组进行排序 Color 注意 它们不是真正的列 只
  • 上传时自动缩小 CSS 和 Javascript

    有谁知道通过上传处理 脚本自动运行某些文件类型的好方法 当我将 CSS 和 Javascript 上传到服务器时 我试图自动缩小它们 在本地保留一个漂亮的 人类可读的版本 同时在服务器上保留一个缩小的版本 我目前在 Windows 上使用
  • “函数是第一等值”这到底是什么意思?

    有人可以用一些很好的例子清楚地解释它吗 在解释函数式编程时 我在 Scala 中遇到了这句话 一流 并不是一个正式定义的概念 但它通常意味着一个实体具有三个属性 有可能used 不受限制 只要 普通 值可以 即从函数传递和返回 放入容器等
  • Android:自定义Toast通知继承默认Toast

    我有一个自定义的 Toast 通知 其中包含图像和文本 自定义 toast 工作正常 但我想知道如何使我的自定义 toast 继承默认 toast 的外观和感觉 我希望它看起来像默认的那样 具有漂亮的圆角和边框 这就是我定制的吐司的样子
  • 如何在 UINavigationController 中收到弹出视图的通知?

    我想在用户按下我的后退按钮时执行操作UINavigationController当到达某个时UIViewController 不幸的是它看起来像UINavigationControllerDelegate没有任何方法来获取视图弹出的通知 作
  • 将 TypeMoq 模拟与 Angular TestBed 结合使用

    我定义了一个FooService如下 import Injectable from angular core export interface Foo Foo string Injectable export class FooServic
  • 通过硬件按钮启动 Android 应用程序

    我希望构建一个在单击特定硬件按钮时启动的 Android 应用程序 例如 当我按下音量增大按钮 30 秒时 应用程序必须在不增加音量的情况下启动 我想知道这可能吗 你可以定义一个BroadcastReceiver处理ACTION MEDIA
  • Perl 中字符串之间的字符匹配计数

    我有一个字符串 例如字符串 1 需要与另一个字符串 字符串 2 匹配 两个字符串的长度相同并且不区分大小写 我想打印两个字符串之间的字符匹配数 E g String 1 stranger String 2 strangem Match co
  • Go中如何从json字符串中获取键值

    我想尝试从 Go 中的 JSON 获取键值 但我不确定如何操作 我已经能够使用 simplejson 读取 json 值 但是我无法找到如何获取键值 有人能指出我正确的方向和 或帮助我吗 谢谢你 您可以通过执行以下操作来获取 JSON 结构
  • 如何在同一命名空间内从函数 B 调用函数 A?

    假设我有命名空间 var Namespace A function alert Hello B function Call A from here do other stuff 在这个命名空间中 我想让A成为B的辅助函数 也就是说 A 永远
  • 什么时候使用哈希表?

    什么情况下使用哈希表可以提高性能 什么情况下不能 哪些情况不适合使用哈希表 什么情况下使用哈希表可以提高性能 什么情况下不能 如果您有理由关心 请使用哈希表和您正在考虑的其他任何内容来实现 将您的实际数据放入其中 并衡量哪个性能更好 也就是
  • pyqt5中主窗口关闭时如何关闭其他窗口

    我想在主窗口关闭时关闭主窗口打开的所有其他窗口 请在下面找到最小值 我正在测试的代码 from PyQt5 QtWidgets import QApplication QMainWindow QPushButton QLabel QVBox
  • 如何确保我的 matplotlib 轴属于自定义类?

    我有一个自定义图形类 并希望确保与其关联的所有轴 无论是使用subplots or twinx 等具有自定义行为 现在 我通过在创建每个轴后将新方法绑定到每个轴来实现这一点 例如通过使用 import types def my ax met