Saya pengguna baru matplotlib, platform saya adalah Ubuntu 10.04 Python 2.6.5
Ini kode saya
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
Kesalahannya adalah:
/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()))
- Saya menginstal pustaka Anti-Grain Geometry
apt-get install libagg
tetapi tidak berfungsi. - Saya mencoba menggunakan argumen backend lain seperti 'GTK' dan 'TkAgg'.
- Saya menginstal
python-gtk2-dev
paket, tetapi kesalahan masih ada di bawah. - Adakah yang bisa memberi tahu saya argumen backend yang dapat dieksekusi dan pustaka ketergantungannya?
Inilah kesalahannya:
>>> 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
python
linux
graphics
matplotlib
pengguna504909
sumber
sumber
FYI, saya merasa perlu menempatkan
matplotlib.use('Agg')
urutan pertama dalam impor Python. Untuk apa yang saya lakukan (pengujian unit harus tanpa kepala) itu berarti menempatkanimport matplotlib matplotlib.use('Agg')
di bagian atas skrip pengujian master saya. Saya tidak perlu menyentuh file lain.
sumber
Ini juga dapat diatur dalam file konfigurasi
matplotlibrc
(seperti yang dijelaskan dalam pesan kesalahan), misalnya:# 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
Dengan begitu, backend tidak perlu di-hardcode jika kode tersebut dibagikan dengan orang lain. Untuk informasi lebih lanjut, periksa dokumentasi .
sumber
Kesalahan yang Anda posting tidak ada hubungannya. Yang pertama adalah karena Anda memilih backend yang tidak dimaksudkan untuk penggunaan interaktif, yaitu agg. Anda masih dapat menggunakan (dan harus menggunakan) itu untuk pembuatan plot dalam skrip yang tidak memerlukan interaksi pengguna.
Jika Anda menginginkan lingkungan lab interaktif, seperti di Matlab / Pylab, Anda jelas akan mengimpor penggunaan gui pendukung backend, seperti Qt4Agg (memerlukan Qt dan AGG), GTKAgg (GTK an AGG) atau WXAgg (wxWidgets dan Agg).
Saya akan mulai dengan mencoba menggunakan WXAgg, selain itu itu sangat tergantung pada bagaimana Anda menginstal Python dan matplotlib (sumber, paket, dll.)
sumber
Sebelum memulai python, Anda bisa melakukannya di bash
sumber
Anda juga dapat mencoba melihat grafik di browser.
Gunakan yang berikut ini:
matplotlib.use('WebAgg')
sumber
Saya menekan ini ketika mencoba mengkompilasi python, numpy, scipy, matplotlib di VIRTUAL_ENV saya sendiri
Sebelum menginstal matplotlib, Anda harus membuat dan menginstal: pygobject pycairo pygtk
Dan kemudian lakukan dengan matplotlib: Sebelum membuat matplotlib, periksa dengan 'python ./setup.py build --help' jika backend 'gtkagg' diaktifkan. Kemudian buat dan instal
Sebelum mengekspor PKG_CONFIG_PATH = $ VIRTUAL_ENV / lib / pkgconfig
sumber
Untuk pendatang baru,
sumber