matplotlib摆脱了max_open_warning输出

问题描述 投票:13回答:2

我编写了一个脚本,调用QIIME中的函数来构建一堆图表。一切都运行良好完成,但matplotlib总是为它创建的每个绘图抛出以下反馈(超级烦人):

/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py:412:RuntimeWarning:已打开超过20个数字。通过pyplot接口(matplotlib.pyplot.figure)创建的数字将保留,直到明确关闭并可能消耗太多内存。 (要控制此警告,请参阅rcParam figure.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,仍然收到相同的警告消息。

我知道这对于在功率有限的计算机上运行的人来说可能是一个问题,但在我的情况下这不是问题。如何让这些反馈永久消失?

matplotlib runtime warnings
2个回答
18
投票

尝试这样设置:

import matplotlib as plt
plt.rcParams.update({'figure.max_open_warning': 0})

不确定为什么会这样,但它反映了我过去改变字体大小的方式,似乎为我修复了警告。


2
投票

我尝试过的另一种方式是:

import matplotlib as mpl
mpl.rc('figure', max_open_warning = 0)
© www.soinside.com 2019 - 2024. All rights reserved.