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

推荐答案

您当前 Select 的后端"agg"不支持show().

AGG后端用于写入文件,而不是在窗口中渲染.参见matplotlib网站上的backend FAQ.

ImportError:没有名为_backend_gdk的模块

对于第二个错误,可能您的matplotlib发行版没有使用GTK支持进行编译,或者您错过了PyGTK包.试着安装它.

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

按以下顺序try 其他GUI backends:

  • TkAgg
  • wxAgg
  • Qt5Agg
  • Qt4Agg

Linux相关问答推荐

如何在带模式的文件频繁更改的管道中使用grep-f带模式的文件?

Linux在所有多行中用新值替换整个列

删除 csv 列中的不匹配值

如何使用正则表达式在 LINux 中查找具有不同结尾的多个文件?

Rust unix 进程

进程Forking 后 pthread_key_create() 生成的密钥会发生什么?

应用程序如何在运行时解析为不同版本的共享库?

RealUID,保存的 UID,有效的 UID.这是怎么回事?

为什么 Linux 不通过 TSS 使用硬件上下文切换?

在 Ubuntu 上运行自包含的 ASP.NET Core 应用程序

模拟器在内核映像文件中找不到Linux 版本字符串

如何准确复制文件夹

如何从任意 pthread_t 获取线程 ID?

为什么 JVM 报告的已提交内存比 linux 进程驻留集大小更多?

以原子方式移动目录

判断环境变量是否已经设置

我可以打开一个套接字并将其传递给 Linux 中的另一个进程吗

/dev/random 非常慢?

未找到版本CXXABI_1.3.8(...要求)

在tmux中绑定Ctrl+Tab和Ctrl+Shift+Tab