一尘不染

如何在Python的matplotlib中设置“后端”?

linux

我是matplotlib的新用户,我的平台是Ubuntu 10.04 Python 2.6.5

这是我的代码

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt 
plt.plot([1,2,3])

错误是:

/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()))
  • 我安装了“防颗粒几何”库,apt-get install libagg但是它不起作用。
  • 我尝试使用后端的其他参数,例如“ GTK”和“ TkAgg”。
  • 我安装了python-gtk2-dev软件包,但错误仍在下面。
  • 谁能告诉我一个可执行的后端参数及其依赖库?

这是错误:

>>> 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

阅读 570

收藏
2020-06-02

共1个答案

一尘不染

您当前选择的后端“ agg”不支持show()。

AGG后端用于写入文件,而不用于在窗口中呈现。请参阅matplotlib网站上的后端常见问题解答

ImportError:没有名为_backend_gdk的模块

对于第二个错误,也许您的matplotlib发行版未使用GTK支持进行编译,或者您错过了PyGTK软件包。尝试安装它。

您是否在show()可以访问图形环境的终端或应用程序中调用该方法?

按以下顺序尝试其他GUI后端:

  • TkAgg
  • WX
  • QTAgg
  • QT4Agg
2020-06-02