2014-05-04 12 views
6

Quindi sto provando a scrivere un pezzo di codice che crea una figura, ma in modo che possa essere eseguito sul computer che voglio (scuola uno), non posso usare il back-end della finestra X per creare la figura. Ho provato a cambiare l'uso del backend (ho l'istruzione matplotlib.use ('Agg') nel mio codice), ma ogni volta che crea la figura, mi dà 3 barre colorate sulla figura quando ne voglio una. Mi dà anche l'errorespyder matplotlib UserWarning: Questa chiamata a matplotlib.use() non ha alcun effetto perché il back-end è già stato scelto

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) 

Il mio codice inizia così:

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

Tutte le idee o aiutare?

+0

Qual è il tuo vero codice di tracciamento? – Ffisegydd

+1

Qualcosa nel tuo IDE sta pre-importando pyplot per te. – tacaswell

+0

e se stai scrivendo script ti consiglio vivamente di non usare 'pyplot' (usa invece l'interfaccia OO) e scoraggeremo dal fatto che tu stia facendo" da pylab import * '. – tacaswell

risposta

5

Risposta tardiva, ma volevo documentarlo per chiunque altro.

Probabilmente stai usando Spyder come interfaccia python. Quando avvii Spyder carica automaticamente quei moduli, quindi l'errore su come è già stato scelto. C'è un link qui che lo spiega: https://groups.google.com/forum/#!topic/spyderlib/tRwgqEAIyvs

+0

Sto usando Juypter Notebooks e ricevo un messaggio di errore simile, quindi forse il problema ha un'applicazione più ampia rispetto a Spyder. – yeliabsalohcin

Problemi correlati