如何将 matplotlib 图保存为 .png 文件

2023-12-20

我有一段代码是从工作中的合作者那里获得的。这段代码生成如下图所示的图。绘图的示例图像 https://i.stack.imgur.com/oJJLZ.png

它通过引用另一段代码中的另一个函数来实现这一点;我不想以任何方式改变这一点。

我想做的是编写一段代码,将该图保存为 png 文件,即我正在寻找一个函数,我可以将另一个函数作为变量保存为 png/jpeg 文件。

Code:

这是代码:

for file in files:
 import matplotlib.pyplot as plt
 connection = sqlite3.connect( file )
 animalPool = AnimalPool( )
 animalPool.loadAnimals( connection )

# show the mask of animals at frame 300


 animalPool.showMask( 701 )

它正在调用以下函数:

    def showMask(self, t ):
    '''
    show the mask of all animals in a figure
    '''

    fig, ax = plt.subplots()
    ax.set_xlim(90, 420)
    ax.set_ylim(-370, -40)

    for animal in self.getAnimalList():                    
        mask = animal.getBinaryDetectionMask( t )
        mask.showMask( ax=ax )

    plt.show()

我已经尝试过 matplotlib“savefig”功能,但这只是保存空白图像。

我对编码非常陌生,并且正在尝试即时学习,所以如果这个问题措辞或解释得不好,请让我知道什么是令人困惑的,因为我也在学习如何提出有关此类事情的问题。


生成 matplotlib 绘图的函数应将图形或轴作为输入,并且仅在需要时选择性地创建这些图形或轴。他们应该返回创建的对象以供进一步使用。最后,他们不应该打电话plt.show(),或者如果必须的话,提供选择退出选项。 例如,对于单轴绘图函数,它可能看起来像

def plottingfunction(*arguments, ax=None, show=True):
    if ax is None:
        fig, ax = plt.subplots()
    else:
        fig = ax.figure

    # do something with fig and ax here, e.g.
    line, = ax.plot(*arguments)

    if show:
        plt.show()

    return fig, ax, line

如果您遵循这样的结构,那么在调用该函数后很容易执行您需要执行的任何操作

fig, _, _ = plottingfunction([1,2,3], [3,2,4], show=False)
fig.savefig("myplot.png")
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 matplotlib 图保存为 .png 文件 的相关文章

随机推荐

  • .net异步套接字超时检查线程安全

    http msdn microsoft com en us library system net sockets socketasynceventargs aspx http msdn microsoft com en us library
  • 重命名 ng-include 中的变量[重复]

    这个问题在这里已经有答案了 这是相关的html
  • 为什么我的 iOS 应用程序不禁用深色模式?

    所以 我尝试根据苹果文档将我的应用程序设置为通过强制浅色模式来禁用iOS 13深色模式 在模拟器中所有尝试都工作正常 但是当我在真实设备上尝试时 没有任何反应 就像我 我从未改变过我的代码 第一次尝试 覆盖窗口 视图或视图控制器的界面样式
  • 使用 Qt-Designer 自动扩展布局

    我正在使用 Qt 设计器 我想创建一个QVBoxLayout它将自动扩展以填充整个窗口 的布局QVBoxLayout保持固定 我怎样才能导致QVBoxLayout通过设计器扩大并充满整个窗口 创建您的后QVBoxLayout在 Qt Des
  • Latex - 提取子字符串/忽略字符

    我有以下问题 我定义了一个宏 func如下 newcommand func 1 do something with 1 X 1 Y 我现在想定义另一个宏 newcommand MyFunc 1 parse 1 and if it conta
  • 如何在 d3.js 转换中正确更新输入元素的文本值

    我一直在尝试 一步一步 转换一些非常好的但静态的和非 d3code https github com saebekassebil teoria tree master examples用于 d3 js 可视化中的动态动画 虽然与这个问题没有
  • 避免竞争条件?操作员

    是否 可用于调用委托或事件的运算符避免竞争条件 例如 手动避免竞争条件 The event invoking method that derived classes can override protected virtual void O
  • 为什么快速排序比基数排序更流行?

    为什么快速排序 或介绍排序 或任何基于比较的排序算法比基数排序更常见 特别是对于数字排序 基数排序不是基于比较的 因此可能比 O n日志 其实还可以n 其中 k 是用于表示每个项目的位数 并且内存开销并不重要 因为您可以选择要使用的存储桶的
  • 需要好的 RDLC(报告)示例/样本 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 有条件地派生 Show 以获取在类型构造函数上参数化的存在类型

    假设我有这样的数据类型 LANGUAGE RankNTypes data X a forall b Show b gt X a b 我想导出Show X a 但当然我只能在有实例的情况下这样做Show a b 我很想写 LANGUAGE S
  • Django迁移找不到GDALRaster

    我接手了一个使用 Django Django REST 框架和 Leaflet 的项目 将绘制的路径存储在数据库中 在中安装 Djangovirtualenv并尝试迁移它会引发 文件 D SHK ElektroClean venv lib
  • Asp.net何时终止后台线程?

    我正在开发一个项目 有大量电子邮件发送其中的一部分 当用户单击按钮时 他 她会立即收到 感谢电子邮件已发送 作为响应 并且会触发相同的方法还有一个异步线程 ThreadPool QueueUserWorkItem SendEMail mes
  • 作业 - 尝试计算两个城市之间的多个航班停靠点?

    这是针对数据库类 使用 Oracle DB 11g Tables Flight flt no from city to city flt distance flt departs flt arrives flt price Aircraft
  • Delphi XE2无限等待线程中调用哪个等待方法

    如果我有一个 While not terminated do begin doStuff end 在 Delphi XE2 线程的执行方法中循环 我不想让它让我所有的失败 我该怎么称呼 在 Delphi 7 中 这很简单 我调用 Sleep
  • 如何在 Perl 中从终端进行管道传输而不丢失颜色?

    我正在尝试编写一个 perl 脚本 它获取 colorgcc 的输出 或任何其他将彩色文本打印到终端的脚本 添加 删除字符串的一部分 然后将结果打印在same颜色作为输入字符串 以下代码将在生成的每一行前面打印 Hello World 颜色
  • iOS itunesconnect 沙箱测试账户(无效年份)

    这太奇怪了 上周我创建了一个测试用户帐户 一切都很好 但今天 它要求我添加出生年份 正如您在下面的屏幕截图中看到的那样 没有年份字段要填写 它却要求填写 苹果 你是认真的吗 如果我做错了什么 请告诉我 UPDATE 看来这是苹果页面上的一个
  • 如果未实现功能,则在链接时启用错误

    我注意到 当使用 G 链接项目时 如果有已声明但未实现的函数 则不会出现错误 除非我尝试调用它们 Q1 如果声明了函数但未实现 是否可以启用错误 或至少警告 Q2 为什么会有这种行为 Note 我在用G 4 7 0 ld 2 22如果那是
  • 标题中的离子导航选项卡

    嘿 我有一个关于离子导航的问题 我的应用程序的主要导航位于页脚中 但我想在标题中添加一个信息选项卡 我也希望此选项卡有它自己的视图 所以我将其设置如下所示
  • 更改所有页面的背景颜色 WP7

    有没有办法改变所有页面的背景颜色 或者我只需要改变LayoutRoot每页上的颜色 您可以做的是创建一个应用背景颜色的样式 您仍然需要将该样式应用到每个页面 但之后如果您需要进行更多更改 则只需更改样式即可 应用于页面的示例样式可以在以下位
  • 如何将 matplotlib 图保存为 .png 文件

    我有一段代码是从工作中的合作者那里获得的 这段代码生成如下图所示的图 绘图的示例图像 https i stack imgur com oJJLZ png 它通过引用另一段代码中的另一个函数来实现这一点 我不想以任何方式改变这一点 我想做的是