Sponsored Link

(47) matplotlibでグラフ表示できない [解決]

(47) matplotlibでグラフ表示できない [解決]

別マシンへのインストール時に再度はまりそうなのでメモしておく。


現象

matplotlibを使ってグラフを表示しようとしたが表示されない。エラーも出ず…

>>> import matplotlib.pyplot as plt
>>> plt.plot([1,2,3,4])
>>> plt.show()

うんともすんとも…


原因

matplotlibのbackend指定がデフォルトで画面表示できないもの backend : agg になっていた。
これを画面表示可能なbackendに変える必要がある。


対策

二重三重にはまったので整理して結論だけメモしておく。

(1) Tcl/Tk関連パッケージをインストールする。

# yum install tk.x86_64
# yum install tk-devel.x86_64
# yum install tkinter.x86_64

(2) matplotlibをインストールしなおす。

$ python setup.py build
$ sudo python setup.py install

この時点でまだ表示できないようなら以下を確認する。

(3) matplotlibの設定ファイルの場所を知る。

$ python
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
'/usr/local/lib/python2.7/site-packages/matplotlib-1.3.1-py2.7-linux-x86_64.egg/matplotlib/mpl-data/matplotlibrc'

(4) matplotlibの設定ファイルでbackend指定を書き換える。

# vi /mpl-data/matplotlibrc
#### CONFIGURATION BEGINS HERE
# the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg MacOSX Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG
# Template
# You can also deploy your own backend outside of matplotlib by
# referring to the module name (which must be in the PYTHONPATH) as
# 'module://my_backend'
#backend      : agg
backend      : tkagg

(1),(2)を先にやっていれば、(3),(4)は必要なかったかもしれない。
今度別マシンにインストールするときにはこの手順でやってみよう。


確認結果

できた!

>>> import matplotlib.pyplot as plt
>>> plt.plot([1,2,3,4])
>>> plt.show()

20140829_01

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*