linux - 看不到 pylab 的情节

标签 linux python-3.x matplotlib plot backend

我正在使用 python3.3.3 并且我已经手动安装了 scipy 0.13.3、matplotlib 1.3.1、numpy 1.8.0(从 sourgeforge 下载并像 $sudo python3 setup.py 或自述文件告诉我的任何内容一样构建它们去做)。我正在使用 Linux Mint Maya 13.04 64 位和 KDE 4.8.5

当我运行时:

$ python3
Python 3.3.3 (default, Jan 27 2014, 12:55:04) 
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylab as pl
>>> pl.figure(figsize=(8, 6), dpi=80)
<matplotlib.figure.Figure object at 0x7f2025397450>
>>> pl.show()
>>> 

我一无所获。我用谷歌搜索了一下,后端似乎有问题。所以我去文件

/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/mpl-data/matplotlibrc

找到那条线

backend : agg

并将 agg 更改为 TkAgg、WXAgg、GTKAgg、PS、PDF 等。

对于 PS、PDF,我也没有结果。如果我使用 TkAgg 等,我会在导入 pylab 时遇到错误,即

>>> import pylab as pl
Traceback (most recent call last):                                                                                                                                                                                                 
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/pylab.py", line 269, in <module>
   from matplotlib.pyplot import *
  File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/pyplot.py", line 98, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
   File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/backends/__init__.py", line 28, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "/usr/local/lib/python3.3/site-packages/matplotlib-1.3.1-py3.3-linux-x86_64.egg/matplotlib/backends/backend_tkagg.py", line 8, in     <module>
    import tkinter as Tk, tkinter.filedialog
  File "/usr/local/lib/python3.3/tkinter/__init__.py", line 40, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'
>>> 

我应该说我在 Python 2.7 上没有问题。另外,我尝试从包管理器安装 python3 和其他包,但这行不通(即我无法导入 scipy)。

有什么想法吗??

最佳答案

许多后端不会使用 pl.show() 生成图形用户界面,例如 agg、ps 和 pdf,它们用于生成文件。您尝试使用的其他软件不适合您的系统,因为您没有安装它们。例如,对于 TkAgg,您应该安装 TkInter。看这个matplotlib backend FAQ了解更多信息。由于您使用的是 KDE,您可能想使用“Qt4Agg”,但这取决于您在系统上安装的内容。更改 matplotlibrc 文件是永久更改后端的一种方法,但您也可以使用以下内容动态更改它,例如,如果您想生成文件而不是 gui,这将很有用:

import matplotlib
matplotlib.use('Qt4Agg')

您应该在导入其他 matplotlib 模块之前调用它。

关于linux - 看不到 pylab 的情节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21631327/

相关文章:

linux - 如何更改 linux/unix 文本文件中的日期格式

python-3.x - 卡在带有 urllib (python3) 的打开网址上

python - 如何以渐进方式生成没有值的组合

python - 如何在 matplotlib/Python 中更改后端

c++ - 在不知道文件描述符的情况下设置 TCP_NODELAY

ruby-on-rails - 防止 Rails 在执行 ssh 时挂起?

linux - vgcreate中 "-Ay" "-cy"选项的使用

python-3.x - 在 python3 中通过套接字发送 .mp4 文件

python - Matplotlib 1.0.1 至 1.4.2

python - 在 matplotlib 中创建发散堆积条形图