Matplotlibにはヘルプが必要です。はい、pyplot.show()を呼び出すことを忘れませんでした。
import matplotlib.pyplot as p
p.plot(range(20), range(20))
出力としてmatplotlib.lines.Line2D at 0xade2b2c
を返します。
p.show()
何も起こりません。エラーメッセージはありません。新しいウィンドウはありません。何もない。 pipを使用してmatplotlib
をインストールしましたが、エラーメッセージは表示されませんでした。
詳細:
私が使う、
~/.matplotlib/matplotlibrc
でバックエンドをtemplate
に設定した場合、あなたの症状を再現できます。
〜/ .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']
参照:
私は(virtualenv内で)matplotlibをインストールしたので、Ubuntu 12.04でまったく同じ問題に遭遇しました。
pip install matplotlib
長い話を短くするために、私のアドバイスは:matplotlibをpipや手動でインストールしようとしないでください。本物のパッケージマネージャ(例えばapt-get/synaptic)にそれをインストールさせてください。
残念ながら、matplotlibのバックエンド(実際にあなたのプロットをレンダリングするための代替方法)は、pipが扱わないであろうあらゆる種類の依存関係を持っています。さらに悪いことに、それは静かに失敗します。つまり、pip install matplotlib
はmatplotlibを正常にインストールしたように見えます。しかし、それを使用しようとすると(例えばpyplot.show()
)、プロットウィンドウは表示されません。私はウェブ上の人々が提案するさまざまなバックエンド(Qt4Agg、GTKなど)を試してみましたが、それらはすべて失敗しました(つまり、matplotlib.pyplotをインポートしようとすると、欠けている依存関係をインポートしようとするのでImportError
が得られます)。それから私はそれらの依存関係をインストールする方法を研究しました、しかしそれは私がPython以外のパッケージ依存関係を持っているどんなパッケージのための実行可能なインストール解決策としても(virtualenvの中で)pipの使用をあきらめたくなりました。
全体の経験から、matplotlibのようなソフトウェアをインストールするためにapt-get/synaptic(すなわちUbuntuパッケージマネージャ)にクロールして戻ってきました。それは完璧に機能しました。もちろん、それはあなたがシステムディレクトリにしかインストールできず、virtualenvの良さはないことを意味します、そしてあなたはUbuntuが配布しているバージョンで行き詰まっています。
%matplotlibインライン
私がノートブックで作業するために、プロットが機能する前に上記の行を追加してください。
今後の参考のために、
私は同じ問題に遭遇しました - pylabはipythonの下で表示されていませんでした。問題はipythonの設定ファイル{ipython_config.py}を変更することで修正されました。設定ファイル内
c.InteractiveShellApp.pylab = 'auto'
Autoをqtに変更したところグラフが表示されます
ただタイプ:
plt.ion()
23:30に https://www.youtube.com/watch?v=1zmV8lZsHF4 を参照してください。
私のインポートのためにplt
が使われています:import matplotlib.pyplot
as plt
私はiTerm2とMac上でpython2.7を使用しています。
私の問題を解決したのは、上部のipythonノートブックの下の2行を使用することだけでした。
%matplotib inline
%pylab inline
そしてそれはうまくいった。 Ubuntu 16.04とipython-5.1を使用しています。
これを機能させるには、ソースからmatplotlibをインストールする必要がありました。主な説明( http://www.pyimagesearch.com/2015/08/24/resolved-matplotlib-figures-not-showing-up-or-displaying/ から):
$ workon plotting
$ pip uninstall matplotlib
$ git clone https://github.com/matplotlib/matplotlib.git
$ cd matplotlib
$ python setup.py install
@unutbuが言っているように、バックエンドを変更することによって、私はちょうどすべての異なるバックエンドもまた動かないというもっと多くの問題に遭遇しました。
Pylabをインポートする前に次の2行を追加すると私にはうまくいくようです
import matplotlib
matplotlib.use("gtk")
import sys
import pylab
import numpy as np
私はwindow = Tk()
、そしてwindow.mainloop()
が必要であることがわかりました
コードを実行した後に、
import pylab as p
p.show()
この起動スクリプトを必ず有効にしてください。(Preferences> Console> Advanced Options)
/usr/lib/python2.7/dist-packages/spyderlib/scientific_startup.py
標準のPYTHONSTARTUPが有効になっている場合は、インタラクティブプロットは表示されません。
@Rikkiと同様に、私はmatplotlib
をpip install matplotlib --upgrade
にアップグレードすることによってこの問題を解決しました。アップグレードできない場合は、アンインストールと再インストールがうまくいく可能性があります。
pip uninstall matplotlib
pip install matplotlib