Ik ben een nieuwe gebruiker van Matplotlib, mijn platform is Ubuntu 10.04 Python 2.6.5
Dit is mijn code
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
De fout is:
/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py:41: UserWarning:
Your currently selected backend, 'agg' does not support show().
Please select a GUI backend in your matplotlibrc file ('/usr/local/lib/python2.6/dist-packages/matplotlib/mpl-data/matplotlibrc')
or with matplotlib.use()
(backend, matplotlib.matplotlib_fname()))
- Ik heb de anti-graan geometrie-bibliotheek geïnstalleerd
apt-get install libagg
Maar het werkt niet. - Ik probeerde een ander argument van backend zoals ‘GTK’ en ‘TKAGG’ te gebruiken.
- Ik heb
python-gtk2-dev
pakket geïnstalleerd, maar nog steeds is de fout hieronder. - Kan iemand me een uitvoerbare backend-argument en de afhankelijkheidsbibliotheek vertellen?
Hier is de foutmelding:
>>> matplotlib.use('GTK')
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/matplotlib/pyplot.py", line 95, in <module>
new_figure_manager, draw_if_interactive, show = pylab_setup()
File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
globals(),locals(),[backend_name])
File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gtk.py", line 28, in <module>
from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK
File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gdk.py", line 29, in <module>
from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array
ImportError: No module named _backend_gdk
Antwoord 1, autoriteit 100%
Uw momenteel geselecteerde backend, ‘agg’ ondersteunt show( niet).
AGG
backend is bedoeld om naar een bestand te schrijven, niet om in een venster te renderen. Zie de backend FAQop de matplotlib-website.
ImportError: Geen module met de naam _backend_gdk
Voor de tweede fout: misschien is je matplotlib-distributie niet gecompileerd met GTK-ondersteuning, of mis je het PyGTK-pakket. Probeer het te installeren.
Roep je de methode show()
aan in een terminal of applicatie die toegang heeft tot een grafische omgeving?
Probeer andere GUI backendsin deze bestelling:
TkAgg
wxAgg
Qt5Agg
Qt4Agg
Antwoord 2, autoriteit 31%
Ter info, ik ontdekte dat ik matplotlib.use('Agg')
eerst in de Python-importvolgorde moest plaatsen. Voor wat ik aan het doen was (eenheidstests moesten headless zijn) betekende dat het zetten van
import matplotlib
matplotlib.use('Agg')
bovenaan mijn hoofdtestscript. Ik hoefde geen andere bestanden aan te raken.
Antwoord 3, autoriteit 19%
Dit kan ook worden ingesteld in het configuratiebestand matplotlibrc
(zoals uitgelegd in het foutbericht), bijvoorbeeld:
# 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
Op die manier hoeft de backend niet hardcoded te zijn als de code wordt gedeeld met andere mensen.
Controleer voor meer informatie de documentatie .
Antwoord 4, Autoriteit 7%
De fouten die u hebt geplaatst, zijn niet gerelateerd. De eerste is het gevolg van het selecteren van een backend die niet bedoeld is voor interactief gebruik, d.w.z. agg. U kunt nog steeds (en moeten gebruiken) die voor het genereren van percelen in scripts die geen gebruikersinteractie vereisen.
Als u een interactieve lab-omgeving wilt, zoals in MATLAB / PYLAB, importeer u duidelijk een backend-ondersteunend GUI-gebruik, zoals QT4AGG (heeft QT en AGG), GTKAGG (GTK AAGG) of WXAGG (WXWIDGETS en Agg).
Ik zou beginnen met het proberen om WXAGG te gebruiken, afgezien van dat het echt afhangt van hoe je Python en Matplotlib (bron, pakket enz.)
hebt geïnstalleerd
Antwoord 5, Autoriteit 4%
Voordat u Python start, kunt u doen in BASH
export MPLBACKEND=TkAgg
Antwoord 6, Autoriteit 4%
U kunt ook proberen de grafiek in een browser te bekijken.
Gebruik het volgende:
matplotlib.use('WebAgg')
Antwoord 7, Autoriteit 3%
Voor nieuwe komers,
matplotlib.pyplot.switch_backend(newbackend)
Antwoord 8, Autoriteit 2%
Ik raakte dit bij het compileren van python, numpy, scipy, matplotlib in mijn eigen VIRTUAL_ENV
Voordat u matplotlib installeert, moet u het volgende bouwen en installeren:
pygobject
pycaïro
pygtk
En doe het dan met matplotlib:
Controleer voordat u matplotlib bouwt met ‘python ./setup.py build –help’ of de ‘gtkagg’-backend is ingeschakeld. Bouw en installeer vervolgens
Vóór export PKG_CONFIG_PATH=$VIRTUAL_ENV/lib/pkgconfig