Questo può anche essere impostato nel file di configurazione matplotlibrc
(come spiegato nel messaggio di errore), ad esempio:
# The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
backend : Agg
In questo modo, non è necessario codificare il backend se il codice è condiviso con altre persone. Per ulteriori informazioni, consulta la documentazione.
Il backend attualmente selezionato, 'agg', non supporta show().
AGG
backend è per la scrittura su file, non per il rendering in una finestra. Consulta le domande frequenti sul backend nel sito web di matplotlib.
ImportError:nessun modulo denominato _backend_gdk
Per il secondo errore, forse la tua distribuzione matplotlib non è compilata con il supporto GTK o ti manca il pacchetto PyGTK. Prova a installarlo.
Chiami il show()
metodo all'interno di un terminale o di un'applicazione che ha accesso a un ambiente grafico?
Prova altri backend della GUI, in questo ordine:
TkAgg
wxAgg
Qt5Agg
Qt4Agg
Cordiali saluti, ho scoperto che dovevo inserire matplotlib.use('Agg')
prima nell'ordine di importazione Python. Per quello che stavo facendo (i test unitari dovevano essere senza testa) ciò significava mettere
import matplotlib
matplotlib.use('Agg')
nella parte superiore del mio script di test principale. Non ho dovuto toccare nessun altro file.