python - 如何阻止pyplot弹出数字

标签 python memory matplotlib pdfpages

我使用如下循环将许多图写入 pdf。它有效,但有两个非常烦人的问题,

1) 当循环运行时,我看到弹出了很多窗口(“图 1”)。我认为命令 plt.close(fig) 没有按预期工作。这真的很烦人,因为当它运行时我可能正在做其他事情,而那些弹出窗口阻止了我对其他任务的看法。

2) 可能与 1) 有关,内存使用量急剧上升。在我的真实脚本中,绘制 50 页图表会消耗 > 32 Gb 的内存。怎么可能?!

with PdfPages('Manyplots.pdf') as pdf:
  for j in xrange(100):
    fig = plt.figure(1, figsize=(5,5))
    for fr in xrange(9):
      pp = fig.add_subplot(3,3,fr+1)
      pp.imshow(x, cmap=plt.cm.gray)
    pdf.savefig()
    plt.close(fig)

我的问题是

1) 有什么方法可以在绘图完成后关闭图形?

2) 更好的是,如何抑制空白图形弹出窗口,因为它实际上应该在后台写入外部文件,

3) 有没有更好的方法可以将一系列绘图保存到多页 PDF 中?

最佳答案

找到问题的原因。我的主脚本包括某人的实用程序脚本的导入,它导入 pyplot 并有一个额外的行,

import matplotlib.pyplot as plt
plt.ion()

plt.ion 被注释掉时,弹出窗口就消失了。

关于python - 如何阻止pyplot弹出数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34275774/

相关文章:

python - Pandas 数据框和计数中选定列中值的唯一组合

python - 在 Spyder 中设置断点不起作用

c++ - 如何使用 STL (C++) 避免重新分配

android - 在内存不足的情况下让 AsyncTask 保持 Activity 状态?

pointers - 64 位英特尔(和非英特尔)处理器中的分段

python - ValueError : x and y must have the same first dimension

python - 为什么我不能在函数内使用 kwargs 更改变量?

python - Webdriver.quit() 在 IE 中的测试结束时使 python 崩溃

Python 和 Matplotlib - 从字符串创建日期刻度

python - 配对时更改箱线图的颜色