Matplotlib - Python错误

use*_*896 24 python 64-bit matplotlib

建立:

处理器:x86_64 操作系统:发行GNU/Linux :Fedora Release 13 (Goddard).

Python 2.6.4

 /usr/bin/python
Run Code Online (Sandbox Code Playgroud)

这是以下问题:

我正在尝试使用Matplotlib和Python生成一些图表.正如我从大多数解决方案3中听到的那样,matplotlib和64位架构之间似乎存在兼容性问题.

我从这里安装了Matplotlib

这是我得到的错误:

Traceback (most recent call last):
  File "plot-thread-characterization.py", line 24, in <module>
    import matplotlib.pyplot as plt
  File "/usr/lib64/python2.6/site-packages/matplotlib/pyplot.py", line 78, in <module>
    new_figure_manager, draw_if_interactive, show = pylab_setup()
  File "/usr/lib64/python2.6/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
    globals(),locals(),[backend_name])
  File "/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_gtkagg.py", line 10, in <module>
    from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK, FigureCanvasGTK,\
  File "/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_gtk.py", line 8, in <module>
    import gtk; gdk = gtk.gdk
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
    _init()
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
    _gtk.init_check()
RuntimeError: could not open display
Run Code Online (Sandbox Code Playgroud)

谢谢.

Jam*_*lby 37

matplotlib无法连接到任何X服务器以进行GTK显示.

这里有几个选项:

  1. 运行本地X服务器并在ssh客户端中启用X11转发,以在本地计算机上显示输出.您可以通过检查服务器上是否设置了$ DISPLAY环境变量来验证这是否有效.

  2. 导入pyplot 之前调用matplotlib.use(...)指定不同的显示后端,例如渲染到pdf文件,例如

    import matplotlib as mpl

    mpl.use('Agg')

    import matplotlib.pyplot as plt

有关详细信息,请参阅http://matplotlib.org/faq/howto_faq.html#generate-images-without-having-a-window-appear.