27

設定:

プロセッサ:x86_64 オペレーティング システム:GNU/Linux ディストリビューション:Fedora Release 13 (Goddard).

Python 2.6.4

 /usr/bin/python

ここに次の問題があります。

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

ありがとう。

4

1 に答える 1

41

matplotlibは、GTK表示のためにXサーバーに接続できません。

ここにはいくつかのオプションがあります。

  1. ローカルXサーバーを実行し、sshクライアントでX11転送を有効にして、ローカルマシンに出力を表示します。サーバーで$DISPLAY環境変数が設定されていることを確認することで、これが機能していることを確認できます。

  2. matplotlib.use(...)を呼び出して、別の表示バックエンドを指定します。たとえば、pyplotをインポートする前に、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を参照してください。

于 2012-11-12T00:21:12.867 に答える