読者です 読者をやめる 読者になる 読者になる

macでmatplotlibによる画像出力

mac上でskimageを入れた際にエラーになったのでメモ

pyenvにてinstallしたpython3.5にて、pipで入れたskimageによって画像を出力しようとした際エラーになった

発生したエラーはこちら

>from skimage import io
>image = io.imread('example.png')
>io.imshow(image)
RuntimeError: No suitable plugin registered for imshow

描画に必要なライブラリを入れる必要があるのかと考え、matplotlibでグラフを表示できるか試してみるとこれもエラー

>>> import matplotlib.pyplot as plt
RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please eith
er reinstall Python as a framework, or try one of the other backends. If you are Working with Matplotlib in a virtual enviroment see 'Working with Matplotlib in Virtual environments' in the Matplotlib FAQ

ググッてみるとこんなのを見つけた http://qiita.com/katryo/items/918667f28301fdec89ba

今回のケースと同じようなのでこれに従ってbackendを別のものを使うよう変更してみる

$ cat 'backend : TkAgg' >> ~/.matplotlib/matplotlibrc
$ python -c 'import matplotlib.pyplot as pyplot; pyplot.pie([1,2,3]); pyplot.show()' 

これで無事グラフが表示された

もともとやりたかったexample.pngの出力もうまくいくようになった