如何阻止pyplot弹出数字

时间:2015-12-14 20:14:13

标签: python memory matplotlib pdfpages

我将一些图表写入pdf,其循环如下所示。它有效,但有两个非常烦人的问题,

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

2)可能与1)相关,内存使用率急剧上升。在我的真实剧本中,绘制类似于50页图形的内容将会出现。 32公顷的公羊。怎么会这样?!

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的更好方法?

1 个答案:

答案 0 :(得分:-1)

找到问题的原因。我的主要脚本包含一个string[] values = line.Split(','); var orderedLogEntryPropertyNames = new string[]{ "Id", "Name", "Process" }; //list all the LogEntry property names in the order that map to the values var logEntry = new LogEntry(); var logEntryProperties = typeof(LogEntry).GetProperties(); for (int i = 0; i < values.Length; i++) { var propertyToSet = logEntryProperties.First(p => p.Name.Equals(orderedLogEntryPropertyNames[i])); propertyToSet.SetValue(logEntry, values[i]); } 某人的实用程序脚本,该脚本导入pyplot并有一个额外的行,

import

import matplotlib.pyplot as plt plt.ion() 被注释掉时,弹出窗口消失了。