尝试将 Pandas DataFrame 的 matplotlib 图写入 pdf 时出错
Error when trying to write a matplotlib plot from Pandas DataFrame to pdf
我正在尝试将绘图从 matplotlib 写入 pdf 文件,但出现错误。
我正在使用来自 Pandas DataFrame 的 matplotlib 创建绘图,如下所示:
bplot = dfbuild.plot(x='Build',kind='barh',stacked='True')
来自文档:http://matplotlib.org/faq/howto_faq.html#save-multiple-plots-to-one-pdf-file
看来我应该这样做:
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages(r'c:\temp\page.pdf')
figure = bplot.fig
pp.savefig(figure)
pp.close()
我收到此错误:
AttributeError: 'AxesSubplot' object has no attribute 'fig'
我这样做就工作了
pp = PdfPages(r'c:\temp\page.pdf')
dfbuild.plot(x=['Build','Opperator'],kind='barh',stacked='True')
pp.savefig()
pp.close()
来自Saving plots to pdf files using matplotlib
问题是 dfbuild.plot
returns 是 AxesSubplot
而不是 Figure
实例,savefig
函数需要它。
这解决了问题:
pp.savefig(bplot.figure)
我正在尝试将绘图从 matplotlib 写入 pdf 文件,但出现错误。
我正在使用来自 Pandas DataFrame 的 matplotlib 创建绘图,如下所示:
bplot = dfbuild.plot(x='Build',kind='barh',stacked='True')
来自文档:http://matplotlib.org/faq/howto_faq.html#save-multiple-plots-to-one-pdf-file
看来我应该这样做:
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages(r'c:\temp\page.pdf')
figure = bplot.fig
pp.savefig(figure)
pp.close()
我收到此错误:
AttributeError: 'AxesSubplot' object has no attribute 'fig'
我这样做就工作了
pp = PdfPages(r'c:\temp\page.pdf')
dfbuild.plot(x=['Build','Opperator'],kind='barh',stacked='True')
pp.savefig()
pp.close()
来自Saving plots to pdf files using matplotlib
问题是 dfbuild.plot
returns 是 AxesSubplot
而不是 Figure
实例,savefig
函数需要它。
这解决了问题:
pp.savefig(bplot.figure)