pandas を使用して、ファイルに保存したいデータフレームからプロットを生成しています。
dtf = pd.DataFrame.from_records(d,columns=h)
fig = plt.figure()
ax = dtf2.plot()
ax = fig.add_subplot(ax)
fig.savefig('~/Documents/output.png')
matplotlib の savefig を使用する最後の行でうまくいくはずです。しかし、そのコードは次のエラーを生成します。
Traceback (most recent call last):
File "./testgraph.py", line 76, in <module>
ax = fig.add_subplot(ax)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/figure.py", line 890, in add_subplot
assert(a.get_figure() is self)
AssertionError
または、プロットで savefig を直接呼び出そうとしても、エラーが発生します。
dtf2.plot().savefig('~/Documents/output.png')
File "./testgraph.py", line 79, in <module>
dtf2.plot().savefig('~/Documents/output.png')
AttributeError: 'AxesSubplot' object has no attribute 'savefig'
savefig を使用するには、plot() によって返されたサブプロットを Figure に追加する必要があると思います。また、おそらくこれはAxesSubPlot クラスの背後にある魔法と関係があるのだろうかと思います。
編集:
次は機能しますが(エラーは発生しません)、空白のページ画像が残ります....
fig = plt.figure()
dtf2.plot()
fig.savefig('output.png')
編集 2: 以下のコードも正常に動作します
dtf2.plot().get_figure().savefig('output.png')