我编写了一个脚本,它调用QIIME中的函数来构建一堆图表。一切都运行良好完成,但matplotlib总是为它创建的每个绘图抛出以下反馈(超级烦人):
/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py:412:RuntimeWarning:已打开超过20个数字。通过pyplot接口(
matplotlib.pyplot.figure
)创建的数字将保留,直到明确关闭并可能消耗太多内存。 (要控制此警告,请参阅rcParamfigure.max_num_figures
)。 max_open_warning,RuntimeWarning)
我发现this page似乎解释了如何解决这个问题,但在我按照指示操作后,没有任何变化:
import matplotlib as mpl
mpl.rcParams[figure.max_open_warning'] = 0
我直接从python调用matplotlib进入文件,看看我应该调查哪个rcparams文件并手动将20更改为0.仍然没有变化。如果文档不正确,我也将其更改为1000,并且仍然收到相同的警告消息。
我知道这对于在功率有限的计算机上运行的人来说可能是一个问题,但在我的情况下这不是问题。如何让这些反馈永久消失?
答案 0 :(得分:1)
我刚刚尝试过的另一种方法也有效:
import matplotlib as mpl
mpl.rc('figure', max_open_warning = 0)
答案 1 :(得分:0)
查看这篇文章:https://heitorpb.github.io/bla/2020/03/18/close-matplotlib-figures/
它基本上是在你完成 fig1 之后说 plt.close(fig1) 。这样你就不会在内存中漂浮太多无花果。