2014-05-04 13 views
6

Więc próbuję napisać fragment kodu, który tworzy figurę, ale aby mógł działać na komputer, którego chcę (szkolny), nie mogę użyć backendu x-window do stworzenia figury. Próbowałem przełączać użycie backendu (mam w swoim kodzie instrukcję matplotlib.use ('Agg')), ale ilekroć tworzy ona cyfrę, daje mi ona 3 paski kolorów na rysunku, kiedy tylko chcę. To również daje mi błądspyder matplotlib UserWarning: To wywołanie matplotlib.use() nie ma żadnego efektu, ponieważ backend został już wybrany

UserWarning: This call to matplotlib.use() has no effect 
because the backend has already been chosen; 
matplotlib.use() must be called *before* pylab, matplotlib.pyplot, 
or matplotlib.backends is imported for the first time. 

warnings.warn(_use_error_msg) 

Mój kod rozpoczyna się tak:

import matplotlib 
matplotlib.use('Agg') 
from mpl_toolkits.basemap import Basemap 
import numpy as np 
import matplotlib.pyplot as plt 
from pylab import * 

Wszelkie pomysły lub pomóc?

+0

Jaki jest twój aktualny kod kreślenia? – Ffisegydd

+1

Coś w twoim IDE jest pre-importowanie pyplot dla ciebie. – tacaswell

+0

i jeśli piszesz skrypty, zdecydowanie zalecam używanie 'pyplot' (zamiast tego użyj interfejsu OO) i zniechęciłbym cię do tego, byś nigdy nie robił' z importu pirlab '. – tacaswell

Odpowiedz

5

Późna odpowiedź, ale chciałem udokumentować to dla kogokolwiek innego.

Prawdopodobnie używasz Spydera jako interfejsu Pythona. Po uruchomieniu Spydera automatycznie ładuje on te moduły, stąd błąd dotyczący tego, jak został już wybrany. Tutaj znajduje się link wyjaśniający: https://groups.google.com/forum/#!topic/spyderlib/tRwgqEAIyvs

+0

Używam Juipter Notebooks i otrzymuję podobny komunikat o błędzie, więc być może problem ma szersze zastosowanie niż tylko Spyder. – yeliabsalohcin

Powiązane problemy