在 matplotlib 中重用 patch 对象而不移动它们的位置

2023-11-21

我想自动生成一系列被剪裁成补丁的图。如果我尝试重复使用补丁对象,它会在画布上移动位置。

该脚本(基于 Yann 对之前问题的回答)演示了正在发生的情况。

import pylab as plt
import scipy as sp
import matplotlib.patches as patches

sp.random.seed(100)
x = sp.random.random(100)
y = sp.random.random(100)
patch = patches.Circle((.75,.75),radius=.25,fc='none')


def doplot(x,y,patch,count):
    fig = plt.figure()
    ax = fig.add_subplot(111)
    im = ax.scatter(x,y)
    ax.add_patch(patch)
    im.set_clip_path(patch)
    plt.savefig(str(count) + '.png')


for count in xrange(4):
    doplot(x,y,patch,count)

The first plot looks like this:Correct position of patch - first time plotted

But in the second '1.png', the patch has moved.. Wrong position of the patch

然而,再次重新绘制不会移动补丁。 “2.png”和“3.png”看起来与“1.png”完全相同。

谁能指出我做错了什么的正确方向?

实际上,我使用的补丁相对复杂,需要一些时间才能生成 - 如果可能的话,我宁愿不必每一帧都重新制作它们。


通过对每个图使用相同的轴可以避免这个问题ax.cla()每次迭代后调用以清除绘图。

import pylab as plt
import scipy as sp
import matplotlib.patches as patches

sp.random.seed(100)
patch = patches.Circle((.75,.75),radius=.25,fc='none')

fig = plt.figure()
ax = fig.add_subplot(111)

def doplot(x,y,patch,count):
    ax.set_xlim(-0.2,1.2)
    ax.set_ylim(-0.2,1.2)
    x = sp.random.random(100)
    y = sp.random.random(100)
    im = ax.scatter(x,y)
    ax.add_patch(patch)
    im.set_clip_path(patch)
    plt.savefig(str(count) + '.png')
    ax.cla()

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

在 matplotlib 中重用 patch 对象而不移动它们的位置 的相关文章

  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 元组有什么用?

    我现在正在学习 Python 课程 我们刚刚介绍了元组作为数据类型之一 我阅读了它的维基百科页面 但是 我无法弄清楚这种数据类型在实践中会有什么用处 我可以提供一些需要一组不可变数字的示例吗 也许是在 Python 中 这与列表有何不同 每
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • 如何使用 opencv.omnidir 模块对鱼眼图像进行去扭曲

    我正在尝试使用全向模块 http docs opencv org trunk db dd2 namespacecv 1 1omnidir html用于对鱼眼图像进行扭曲处理Python 我正在尝试适应这一点C 教程 http docs op
  • Python getstatusoutput 替换不返回完整输出

    我发现了这个很棒的替代品getstatusoutput Python 2 中的函数在 Unix 和 Windows 上同样有效 不过我觉得这个方法有问题output被构建 它只返回输出的最后一行 但我不明白为什么 任何帮助都是极好的 def
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • 为什么 PyYAML 花费这么多时间来解析 YAML 文件?

    我正在解析一个大约 6500 行的 YAML 文件 格式如下 foo1 bar1 blah name john age 123 metadata whatever1 whatever whatever2 whatever stuff thi
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • 如何通过索引列表从 dask 数据框中选择数据?

    我想根据索引列表从 dask 数据框中选择行 我怎样才能做到这一点 Example 假设我有以下 dask 数据框 dict A 1 2 3 4 5 6 7 B 2 3 4 5 6 7 8 index x1 a2 x3 c4 x5 y6 x
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • import matplotlib.pyplot 给出 AttributeError: 'NoneType' 对象没有属性 'is_interactive'

    我尝试在 Pycharm 控制台中导入 matplotlib pyplt import matplotlib pyplot as plt 然后作为回报我得到 Traceback most recent call last File D Pr
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • 如何断言 Unittest 上的可迭代对象不为空?

    向服务提交查询后 我会收到一本字典或一个列表 我想确保它不为空 我使用Python 2 7 我很惊讶没有任何assertEmpty方法为unittest TestCase类实例 现有的替代方案看起来并不正确 self assertTrue
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • 我应该使用 django-gunicorn 集成还是 wsgi?

    我正在使用gunicorn django 设置一个网络服务器 有两种部署选项 使用常规 WSGI 或使用gunicorn 的 django 集成 我很想使用后者 因为它简化了配置 但是Django 文档说 If you are using
  • PhoneGap Eclipse 问题 - eglCodecCommon glUtilsParamSize:未知参数错误

    我刚刚开始使用phonegap 并尝试在eclipse 中设置第一个基本的最小项目 我按照以下位置的phonegap文档进行操作http docs phonegap com en edge guide platforms android i
  • MySQL InnoDB 不同数据库之间的外键

    我想知道在 InnoDB 中是否可以MySQL有一个table with 外键引用不同的另一个表database 如果是这样 如何做到这一点 我没有看到任何限制https dev mysql com doc refman 8 0 en cr
  • Django-Celery 正在生产中吗?

    所以我一直在试图弄清楚如何制定计划任务 我找到了 Celery 并且能够制定简单的计划任务 为此 我需要打开命令行并运行celery A proj beat为了任务的发生 这在开发环境中工作得很好 但是当将其投入生产时 这将是一个问题 那么
  • 从 64 位整数秒计数创建 boost::posix_time::ptime 对象

    我有一个 32 位 Linux 系统 在其中我必须记录时间戳为距 1901 01 01 00 00 00 的 UINT32 秒偏移量的数据 计算时间戳对我来说没问题 因为我可以使用 64 位ticks 计数器和ticks per secon
  • 使用 matplotlib 添加自定义刻度

    我想在matplotlib数字 目前 我使用以下命令添加刻度 例如 axis set yticks 0 5 0 6 0 7 0 8 0 9 1 0 我希望能够做到 axis set yticks 1 0 some custom text 所
  • Grails 2.x createCriteria 'or' 不适用于嵌套关联

    似乎在 Grails 2 x 中 如果您有一个域类关联 并且您尝试使用以下命令运行 createCriteriaor在该关系 另一个查询上 or将忽略其他查询并仅使用嵌套关联的结果 我意识到这可能有点令人困惑 所以这里是一个例子 class
  • SQLite更新触发器更改表中的所有行

    问题 最简单的更新触发器将新值写入所有表行 而不仅仅是正在更新的行 这是表格 names id INTEGER PRIMARY KEY name TEXT len INTEGER 现在我想创建触发器来用 name 的长度更新 len 这个
  • Selenium Webdriver:元素不可见异常

    这是我的代码 用于单击一个简单的登录按钮Website import java util concurrent TimeUnit import org openqa selenium By import org openqa seleniu
  • UIAccessibility 元素的自定义 UITableViewCell 问题

    无论我尝试什么 我都无法阻止我的自定义 UITableViewCell 发挥作用就像应该的那样根据 UIAccessiblity 的默认规则 我不希望这个单元格充当可访问性容器 本身 所以遵循这个guide我应该能够使我的所有子视图都可访问
  • 宽度和高度会随方向变化吗?

    所以我的游戏从垂直方向开始 然后最终进入水平方向 我知道屏幕的宽度是屏幕的宽度 与垂直方向时的高度相同 当它切换到水平方向时 高度会变成宽度 宽度会变成高度吗 或者它们保持不变 是的 屏幕宽度和高度会根据设备方向而变化 您可以使用以下命令获
  • 如何在 C# 中将 UTC 时间转换为任何其他时区的时间

    我正在 C net 中工作 Net fx 是 2 0 不支持不同时区之间的转换 我已经编写了一个基于 UTC 的调度程序 但它在伦敦的 DTS 周期中给出了 1 小时的错误 我需要一些解决方案 以便我可以通过正确的 DST 调整来获得相对于
  • 将 int 转换为 4 字节 char 数组 (C)

    嘿 我希望将用户输入的 int 转换为 4 个字节 并将其分配给字符数组 如何才能做到这一点 Example 将用户输入 175 转换为 00000000 00000000 00000000 10101111 到目前为止所有答案都有问题 转
  • 查看单个文档中单个字段的原始 Solr 标记

    我正在调试我的 Solr 架构 我想查看标记特定字段的结果 举一个简化的例子 如果我有
  • sudo E选项不起作用? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 在我看来 如果我写一个shell脚本 HOME path to script myscript and export PATH PATH HOME path to script th
  • 在单活动架构中设置片段的横向方向

    如何实现只锁定一个屏幕方向Fragment 在单活动架构中 只有一个Activity对于整个应用程序 有没有比在每个中指定请求的方向更好的解决方案Fragment 我试图避免放置activity requestedOrientation A
  • 在 scrapy 中运行多个蜘蛛

    例如 在 scrapy 中 如果我有两个包含不同 HTML 的 URL 现在我想分别编写两个单独的蜘蛛 并希望同时运行这两个蜘蛛 在 scrapy 中可以同时运行多个蜘蛛 在scrapy中编写多个蜘蛛后 我们如何安排它们每6小时运行一次 可
  • 依赖于子目录同级的介子目标

    这是我的项目结构 include src abc include src def include src ghi include src vendor bar include src foo 16 directories 我想将我的构建移植
  • 如何从其他应用程序向 Microsoft 团队发布消息

    我正在尝试在我的桌面应用程序中创建一个自定义方法 使用 C 以向 Microsoft 团队发布消息 但我还是不知道用什么样的工具或者服务来完成 有可能实现吗 如果是 怎么办 我在 Visual Studio 中找到了一个有关 MS Team
  • 在 matplotlib 中重用 patch 对象而不移动它们的位置

    我想自动生成一系列被剪裁成补丁的图 如果我尝试重复使用补丁对象 它会在画布上移动位置 该脚本 基于 Yann 对之前问题的回答 演示了正在发生的情况 import pylab as plt import scipy as sp import