2014-12-15 33 views
7

Napisałem skrypt, który wywołuje funkcje z QIIME, aby zbudować kilka wątków między innymi. Wszystko działa poprawnie, ale matplotlib zawsze wysyła następujące informacje zwrotne dla każdego tworzonego wątku (super denerwujące):Matplotlib pozbyć się wyjścia max_open_warning

/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py:412: RuntimeWarning: Ponad 20 liczb zostało otwartych. Rysunki utworzone za pomocą interfejsu Pyplot (matplotlib.pyplot.figure) są zachowywane do momentu jawnego zamknięcia i mogą zużywać zbyt dużo pamięci. (Aby kontrolować to ostrzeżenie, zobacz rcParam figure.max_num_figures). max_open_warning, RuntimeWarning)

znalazłem następującą stronę, która wydaje się wyjaśniać, jak rozwiązać ten problem (http://matplotlib.org/users/customizing.html?highlight=max_open_warning), ale po tym, jak kierować się, nic się nie zmieni

Pythona import matplotlib jak MPL mpl.rcParams [ figure.max_open_warning '] = 0

Poszedłem do pliku po wywołaniu matplotlib bezpośrednio z Pythona, aby zobaczyć, który plik rcparams powinienem badać i ręcznie zmienić 20 na 0. Wciąż brak zmian. Jeśli dokumentacja była nieprawidłowa, zmieniłem ją również na 1000 i nadal otrzymuję te same ostrzeżenia.

Rozumiem, że może to stanowić problem dla osób korzystających z komputerów o ograniczonej mocy, ale w moim przypadku nie stanowi to problemu. Jak mogę trwale usunąć tę opinię?

+0

Wypróbuj to: http://stackoverflow.com/questions/21884271/warning-about-too-many-open-figures – Aswin

Odpowiedz

8

spróbuj ustawić go w ten sposób:

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

Nie wiem dokładnie, dlaczego to działa, ale to odzwierciedla sposób zmieniłem rozmiar czcionki w przeszłości i wydaje się naprawić ostrzeżenia dla mnie.

Powiązane problemy