2014-12-15 7 views
7

Ho scritto uno script che chiama le funzioni di QIIME per creare un sacco di trame tra le altre cose. Tutto funziona fino al completamento, ma matplotlib genera sempre il seguente feedback per ogni trama creata (super fastidioso):matplotlib elimina l'output max_open_warning

/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py:412: RuntimeWarning: sono state aperte più di 20 cifre. Le cifre create tramite l'interfaccia di pyplot (matplotlib.pyplot.figure) vengono mantenute fino alla chiusura esplicita e possono consumare troppa memoria. (Per controllare questo avviso, consultare rcParam figure.max_num_figures). max_open_warning, RuntimeWarning)

ho trovato la pagina seguente, che sembra spiegare come risolvere questo problema (http://matplotlib.org/users/customizing.html?highlight=max_open_warning), ma dopo che seguo le direzioni, non cambia nulla

pitone importazione matplotlib come MPL mpl.rcParams [ figure.max_open_warning '] = 0

Sono entrato nel file dopo aver chiamato matplotlib direttamente da python per vedere quale file rcparams dovrei indagare e modificato manualmente il 20 a 0. Ancora nessun cambiamento. Nel caso in cui la documentazione non fosse corretta, l'ho anche modificata a 1000 e sto ancora ricevendo gli stessi messaggi di avviso.

Capisco che questo potrebbe essere un problema per le persone che eseguono su computer con potenza limitata, ma nel mio caso non è un problema. Come posso rendere questo feedback andare via in modo permanente?

+0

Prova questo: http://stackoverflow.com/questions/21884271/warning-about-too-many-open-figures – Aswin

risposta

8

provare ad impostare in questo modo:

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

Non so esattamente il motivo per cui questo funziona, ma rispecchia il modo in cui ho cambiato la dimensione del carattere in passato e sembra fissare le avvertenze per me.