Dee*_*der 5 plot matplotlib figure
我在使用matplotlib时遇到了一些问题。尝试使用时,将某个数字保存成一个循环一百次savefig(),但最终出现以下错误:
IOError: [Errno 24] Too many open files: 'test_421.png'
Run Code Online (Sandbox Code Playgroud)
我检查了figure保存后是否关闭了所有文件,但似乎效率不高。
这是一个代码示例,说明了如何得到此错误:
def displayFig(input, display, savePath):
fig = plt.figure(figsize=(22, 5))
# add some subplots, axis and colorbars...
if display:
plt.show()
else:
plt.savefig(savePath, dpi = 100)
plt.close(fig)
for i, inp in enumerate(inpArray):
savePath = 'test_%d.png' % i
displayFig(inp, False, savePath)
Run Code Online (Sandbox Code Playgroud)
为什么会引发此错误?可能是多线程问题还是内存泄漏?
尝试升级您的 matplotlib 版本。我相信从 matplotlib v1.2.0 开始,这个问题已经得到解决(通过此 PR https://github.com/matplotlib/matplotlib/issues/1466/)。
| 归档时间: |
|
| 查看次数: |
569 次 |
| 最近记录: |