当前位置: 首页 > 知识库问答 >
问题:

将情节保存到图像文件,而不是使用Matplotlib显示它

寿嘉悦
2023-03-14

我正在写一个快速而肮脏的脚本来动态生成情节。我使用以下代码(来自Matplotlib文档)作为起点:

from pylab import figure, axes, pie, title, show

# Make a square figure and axes
figure(1, figsize=(6, 6))
ax = axes([0.1, 0.1, 0.8, 0.8])

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
fracs = [15, 30, 45, 10]

explode = (0, 0.05, 0, 0)
pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True)
title('Raining Hogs and Dogs', bbox={'facecolor': '0.8', 'pad': 5})

show()  # Actually, don't show, just save to foo.png

我不想在GUI上显示绘图,而是想将绘图保存到一个文件(比如foo.png),以便可以在批处理脚本中使用。我该怎么做?

共有3个答案

龚钧
2023-03-14

解决办法是:

pylab.savefig('foo.png')
邹高懿
2023-03-14

正如其他人所说,plt。savefig()图1。savefig()确实是保存图像的方法。

然而,我发现在某些情况下,图形总是显示出来。(例如,Spyder具有plt.ion():交互式模式=On。)我通过使用plt.close(figure_object)(请参阅留档)强制关闭巨型循环中的图形窗口来解决这个问题,因此在循环期间我没有一百万个打开的图形:

import matplotlib.pyplot as plt
fig, ax = plt.subplots( nrows=1, ncols=1 )  # create figure & 1 axis
ax.plot([0,1,2], [10,20,3])
fig.savefig('path/to/save/image/to.png')   # save the figure to file
plt.close(fig)    # close the figure window

白芷阳
2023-03-14

虽然这个问题已经得到了回答,但我想在使用matplotlib时添加一些有用的提示。pyplot。保存图。文件格式可由扩展名指定:

from matplotlib import pyplot as plt

plt.savefig('foo.png')
plt.savefig('foo.pdf')

将分别给出光栅化或矢量化输出,这两种输出都很有用。此外,图像周围通常有一个不需要的空白,可以通过以下方式删除:

plt.savefig('foo.png', bbox_inches='tight')

请注意,如果显示绘图,plt。show()应遵循plt。savefig(),否则文件图像将为空。

 类似资料:
  • 问题内容: 我正在编写一个快速脚本来动态生成绘图。我使用下面的代码(来自Matplotlib文档)作为起点: 我不想将图形显示在GUI上,而是要将图形保存到文件(例如foo.png)中,以便可以在批处理脚本中使用它。我怎么做? 问题答案: 在回答问题后,我想在使用matplotlib.pyplot.savefig时添加一些有用的提示。文件格式可以通过扩展名指定: 将分别给出栅格化或矢量化的输出,这

  • 问题内容: 我正在尝试使用 matplotlib.pyplot.imshow() 显示灰度图像。我的问题是灰度图像显示为颜色图。我需要灰度,因为我想在图像上绘制颜色。 我读入图像并使用 PIL的Image.open()。convert(“ L”)* 转换为灰度 * 然后,我将图像转换为矩阵,以便可以轻松地使用 但是,当我这样做 它使用颜色图显示图像(即不是灰度)。 我在这里做错了什么? 问题答案:

  • 问题内容: 我试图在不显示JFrame本身的情况下将JFrame渲染到图像。我试过使用这段代码: 然而,当这仅适用的设置。这将导致图像显示在屏幕上,这不是我想要的。我也尝试创建类似这样的东西: 但是,这将显示黑色图像(如上面的代码)。我很确定我所追求的是可能的,问题是我真的找不到如何做。我在使用自定义Swing组件方面的经验非常有限,因此任何信息都会受到赞赏。 谢谢。 问题答案: 这是应该解决问题

  • 我一直在研究如何使用HTML5

  • 我在linux上有一个gwt web应用程序,在服务器端,我尝试通过Apache POI3.10将一些图像插入到excel文件中。 如有任何帮助,不胜感激。

  • 所以,基本上,我需要上传单个图像,将其保存到localStorage中,然后在下一页上显示它。 目前,我有我的HTML文件上载: 它使用该函数在页面上显示图像 图像会立即显示在页面上供用户查看。然后要求他们填写表格的其余部分。这部分工作很好。 一旦表格完成,他们然后按下一个“保存”按钮。按下此按钮后,我将所有表单输入保存为字符串。我需要一种方法来将图像保存为项。 save按钮还将引导他们进入一个新