matplotlib が python3 に正しくインストールされているかどうかをテストしようとしています。私はこの基本的なチュートリアルに従っています: http://www.scipy.org/Plotting_Tutorial
この質問は以前に尋ねられたものと似ていますが、残念ながら最終的な解決策を明示的に報告しておらず、これは別のオペレーティング システムです。
このオペレーティング システムは Mac OS X 10.6.8 です。Python 3.2 でスクリプトを実行しても機能しませんが、Python 2.7 で実行すると機能します。残念ながら、3.2 が必要です。
savefig 行をコメントアウトすると、正常に動作します。
"""
Example: simple line plot.
Show how to make and save a simple line plot with labels, title and grid
"""
import numpy
import pylab
t = numpy.arange(0.0, 1.0+0.01, 0.01)
s = numpy.cos(2*2*numpy.pi*t)
pylab.plot(t, s)
pylab.xlabel('time (s)')
pylab.ylabel('voltage (mV)')
pylab.title('About as simple as it gets, folks')
pylab.grid(True)
pylab.savefig('/Users/USERNAME/Documents/simple_plot.png', format='png')
pylab.show()
上記のコードは、パスが明示的に設定されているかどうかに関係なく、同じエラーを返しました。上記に加えて、次のことを試しました。
pylab.savefig('simple_plot.png', format='png')
pylab.savefig('simple_plot')
他の質問が言ったように(上記の長い例のように)パスを明示的に設定しようとしましたが、次のエラーが発生しました。注: mplex.py はスクリプトの名前です。
libpng warning: Application was compiled with png.h from libpng-1.2.44
libpng warning: Application is running with png.c from libpng-1.4.11
libpng warning: Incompatible libpng version in application and library
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "mplex.py", line 16, in <module>
pylab.savefig('/Users/USERNAME/Documents/simple_plot.png', format='png')
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/matplotlib/pyplot.py", line 474, in savefig
return fig.savefig(*args, **kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/matplotlib/figure.py", line 1225, in savefig
self.canvas.print_figure(*args, **kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/matplotlib/backend_bases.py", line 2075, in print_figure
**kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/matplotlib/backend_bases.py", line 1846, in print_png
return agg.print_png(*args, **kwargs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/matplotlib/backends/backend_agg.py", line 497, in print_png
filename_or_obj, self.figure.dpi)
RuntimeError: Could not create write struct
アイデア?savefig 行で試したこと以外に、宛先を明示的に設定する別の方法はありますか?