1. ホーム
  2. python

[解決済み] pyplot.show()を呼び出しても、matplotlibは私の絵を表示しません。

2022-03-02 02:52:01

質問

matplotlibのヘルプが必要です。はい、私はpyplot.show()を呼び出すことを忘れてはいません。

$ ipython --pylab

import matplotlib.pyplot as p 
p.plot(range(20), range(20))

を返します。 matplotlib.lines.Line2D at 0xade2b2c を出力します。

p.show()

何も起こりません。エラーメッセージもありません。新しいウィンドウもありません。何も起こりません。私はインストールする matplotlib pipを使用し、エラーメッセージを受けなかった。

詳細はこちら

使っています。

  • Ubuntu
  • IPython v0.11
  • Python v2.6.6
  • matplotlib v1.0.1

解決方法は?

バックエンドを template~/.matplotlib/matplotlibrc , であれば、あなたの症状を再現することができます。

~/.matplotlib/matplotlibrc:

# backend      : GtkAgg
backend      : template

なお、ファイル matplotlibrc は、ディレクトリ ~/.matplotlib/ . この場合、次のコードでその場所を表示します。

>>> import matplotlib
>>> matplotlib.matplotlib_fname()


In [1]: import matplotlib.pyplot as p

In [2]: p.plot(range(20),range(20))
Out[2]: [<matplotlib.lines.Line2D object at 0xa64932c>]

In [3]: p.show()


を編集すると ~/.matplotlib/matplotlibrc というようにバックエンドを変更します。 GtkAgg プロットが表示されるはずです。あなたのマシンで利用可能なすべてのバックエンドは、次のようにしてリストアップできます。

import matplotlib.rcsetup as rcsetup
print(rcsetup.all_backends)

のようなリストが返ってくるはずです。

['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'MacOSX', 'QtAgg', 'Qt4Agg',
'TkAgg', 'WX', 'WXAgg', 'CocoaAgg', 'agg', 'cairo', 'emf', 'gdk', 'pdf',
'ps', 'svg', 'template']

参考