plt.close('all') 没有摆脱"太多数字"警告



我有一个反复运行的脚本,在这个过程中,它将一个图形保存到一个文件夹中。过了一段时间,我开始收到关于记忆中有太多开放数字的警告。

我检查了关于这个主题的其他问题,例如,这个问题,并将plt.close('all')添加到我的代码中,所以现在看起来是这样的:

fig, ax = plt.subplots(figsize=(17,8))
plt.hist(results_df['Diff'], bins=100, density=True, histtype='step')
plt.savefig(f'backtester_results/figures/rf_model_{n_days}_data_and_{lag}_lag.png',
format='png')
plt.close('all')

然而,过了一段时间,我的记忆和警告中不断堆积着数字。我哪里错了?

警告如下:

RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (matplotlib.pyplot.figure) are retained until explicitly closed and may consume too much memory.

在阅读官方文档时,我认为plt.close('all')只关闭窗口而不删除图形(https://matplotlib.org/1.3.0/api/pyplot_api.html#matplotlib.pyplot.close)。

据我所知,您需要清除以下数字:

fig.clf()
plt.close()

来源:(如何在创建matplotlib图形后释放内存(

相关内容

  • 没有找到相关文章

最新更新