我正在使用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
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
dtf2.plot().savefig('~/Documents/output.png')
AttributeError: 'AxesSubplot' object has no attribute 'savefig'
我想我需要以某种方式将plot()返回的子块添加到一个图中,以便使用savefig。我还想知道这是否与AxesSubPlot类后面的magic有关。
编辑:
下面的工作(没有引起错误),但给我留下了一个空白页图像。。。。fig = plt.figure()
dtf2.plot()
fig.savefig('output.png')
编辑2:
下面的代码也可以正常工作dtf2.plot().get_figure().savefig('output.png')