可靠地显示 matplotlib(0.99 到 1.3.1)数字而不会阻塞

2023-12-28

有没有办法在 Python 2.65、Matplotlib 0.99 中显示 pyplot 图,而不锁定其他所有内容?

我有一个带有 Pmw GUI 的程序,在 Python 2.75 和 Matplotlib 1.3.1 上运行。在 Windows(64 位 Winpython)上。 每次绘制图形(或每次向现有图形添加某些内容)时,例程都会调用 plt.show()。 可以显示 pyplot 图形,同时允许用户继续使用 GUI 并操作图形,没有任何东西会阻止任何东西,正如我希望的那样,因为我需要用户在决定下一步在 GUI 中做什么时查看绘图,并有几个相邻的图进行比较。

现在,我需要在使用 Python 2.65 和 Matplotlib 0.99 的系统上完成所有这些工作。现在的行为似乎是,除非调用 plt.show() ,否则什么都不可见,然后它将阻止所有内容,直到关闭绘图窗口。 我尝试使用 plt.draw() 代替,但随后该图甚至没有显示。 更糟糕的是:一些绘制现有图形的例程永远没有机会,因为它们在图形显示时无法执行,而当它们可以执行时,图形已经消失了。我不能等到最后一次绘图操作,因为这些图表旨在构建增量,将信息添加到用户需要能够看到的现有图表中。

我不被允许更新 matplotlib。如果我将库的非二进制部分作为“我的”软件包的一部分,我就可以使用它们。

理想情况下,我正在寻找能够在我正在工作的两种环境中工作的代码,但在这一点上我愿意做出妥协......

Update: 我发现一些在同一环境中运行的代码能够执行所有这些操作,我可以在其中删除 plt.show() 调用,甚至在 IDLE 中运行它(根据 matplotlib 文档,这在这些方面存在问题),它“正常工作”——我无法发现这两个代码处理任务的方式有任何区别:两者都定义了一个figure.axes对象,将其传递给绘制到它们中的例程(使用plt.plot()) )并保存以供将来使用。

我还发现我当前的代码将改变其在当前库集上的行为,具体取决于我运行它的方式:在 Spyder 中的“常规”控制台或系统控制台中,一切都很好,但在 Spyder 中的专用控制台上,第一个图会锁住界面

=> 我开始认为这毕竟与 matplotlib 版本无关,但不知道还能去哪里寻找——根据 matplotlib 的启动方式,还有其他东西可以改变它的行为吗?


您似乎正在寻找:

plt.show(block=False) 

or plt.ion http://matplotlib.org/faq/usage_faq.html#what-is-interactive-mode:

plt.ion()
plt.show()
# update figure, calc stuff
plt.pause()

不太确定它们是否在 0.99 中可用。

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

可靠地显示 matplotlib(0.99 到 1.3.1)数字而不会阻塞 的相关文章

  • 如何使用显式引用转储 YAML?

    递归引用非常适合ruamel yaml or pyyaml ruamel yaml dump ruamel yaml load A A id001 id001 然而 它 显然 不适用于普通引用 ruamel yaml dump ruamel
  • 使用 Django Rest 保存 Base64ImageField 类型会将其保存为原始图像。如何将其转换为普通图像

    我的模型中有 5 个图像字段 imageS imageS imageS imageS 和 imageE 我正在尝试按以下方式保存图像 图像的类型Base64ImageField images imageA imageB imageC ima
  • 了解 Python 中的酸洗

    我最近接到一项作业 需要以腌制形式放置一本字典 其中每个键引用一个列表 唯一的问题是我不知道腌制形式是什么 谁能给我指出一些好的资源的正确方向来帮助我学习这个概念 pickle 模块实现了一个基本但强大的算法 用于序列化和反序列化 Pyth
  • 更新 Sqlalchemy 中的多个列

    我有一个在 Flask 上运行的应用程序 并使用 sqlalchemy 与数据库交互 我想用用户指定的值更新表的列 我正在使用的查询是 def update table value1 value2 value3 query update T
  • 在 macOS 中通过 Python 访问进程的压缩 RAM(顶部的 CMPRS)的方法?

    我试图弄清楚如何从 Python 访问任何给定进程占用的实际 RAM 量 我发现 psutil Process PID memory info rss 工作得很好 直到操作系统决定开始压缩某些进程的 RAM 然后 所有的 memory in
  • 如何在 Python 3 中循环遍历集合,同时从集合中删除项目

    这是我的情况 我有一个list set 哪个并不重要 movieplayer我想调用的对象 preload 功能开启 该预加载函数可以立即返回 但希望将来返回一点 我想存储这个电影播放器 集合 表明它们尚未预加载 然后循环它们 调用prel
  • 如何将 self 传递给装饰器?

    我该如何通过self key下面进入装饰器 class CacheMix object def init self args kwargs super CacheMix self init args kwargs key func Cons
  • 乘以行并按单元格值附加到数据框

    考虑以下数据框 df pd DataFrame X a b c d Y a b d e Z a b c d 1 2 1 3 df 我想在 列中附加数字大于 1 的行 并在该行中的数字减 1 df 最好应该 然后看起来像这样 或者它可能看起来
  • Python 惰性迭代器

    我试图了解迭代器表达式如何以及何时被求值 以下似乎是一个懒惰的表达 g i for i in range 1000 if i 3 i 2 然而 这个在构造上失败了 g line strip for line in open xxx r if
  • Pandas style.bar 颜色基于条件?

    如何渲染其中一列的 Pandas dfstyle bar color属性是根据某些条件计算的 Example df style bar subset before after color ff781c vmin 0 0 vmax 1 0 而
  • Python 类型安全吗?

    根据维基百科 https en wikipedia org wiki Type system Type safety and memory safety 如果一种语言不允许违反类型系统规则的操作或转换 计算机科学家就认为该语言是 类型安全的
  • 由于 json 字符串化 dict 键导致数据丢失

    考虑下面的例子 gt gt gt import json gt gt gt d 0 potato 0 spud gt gt gt json dumps d 0 potato 0 spud gt gt gt json loads json d
  • 解析根元素内元素之间的 XML 文本

    我正在尝试用 Python 解析 XML 以下是 XML 结构的示例 a aaaa1 b bbbb b aaaa2 a
  • 如何使用 Keras ImageDataGenerator 预测单个图像?

    我已经训练 CNN 对图像进行 3 类分类 在训练模型时 我使用 keras 的 ImageDataGenerator 类对图像应用预处理功能并重新缩放它 现在我的网络在测试集上训练得非常准确 但我不知道如何在单图像预测上应用预处理功能 如
  • 如何使用 matplotlib 为圆柱体的每个单独面添加颜色

    我正在尝试为圆柱体的每个面着色 但是我不确定如何进行 我尝试了以下方法 for i in range 10 col append for i in range 10 for j in range 20 col i append plt cm
  • 在 virtualenvwrapper 中激活环境

    我安装了virtualenv and virtualenvwrapper用这个命令我创建了一个环境 mkvirtualenv cv 它有效 创建后我就处于新环境中 现在我重新启动了我的电脑 我想activate又是那个环境 但是怎么样 我使
  • 更改 Python Cmd 模块处理自动完成的方式

    我有一个 Cmd 控制台 设置为自动完成 Magic the Gathering 收藏管理系统的卡牌名称 它使用文本参数在数据库中查询卡片 并使用结果自动完成 建议卡片 然而 这些卡片名称有多个单词 Cmd 会从last到行尾的空间 例如
  • Python:高精度time.sleep

    你能告诉我如何在 Win32 和 Linux 上的 Python 2 6 中获得高精度睡眠函数吗 您可以在中使用浮点数sleep http docs python org library time html time sleep 该参数可以
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可
  • 如何获取所有mysql元组结果并转换为json

    我能够从表中获取单个数据 但是当我试图获取表上的所有数据时 我只得到一行 cnn execute sql rows cnn fetchall column t 0 for t in cnn description for row in ro

随机推荐