在matplotlib中保存多个数字为一个pdf文件
问题描述:
我有一个代码可以根据groupby
创建大约50个图。代码如下所示:在matplotlib中保存多个数字为一个pdf文件
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
with PdfPages('foo.pdf') as pdf:
for i, group in df.groupby('station_id'):
plt.figure()
fig=group.plot(x='year', y='Value',title=str(i)).get_figure()
pdf.savefig(fig)
这是只保存一个数字,(最后一个在我的系列)的时候,我想我所有的数据被存储到一个PDF文件。任何帮助,将不胜感激。
答
代码中存在缩进错误。由于您的绘图命令不在循环中,它只会创建最后一个绘图。
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages
with PdfPages('foo.pdf') as pdf:
for i, group in df.groupby('station_id'):
plt.figure()
fig=group.plot(x='year', y='Value',title=str(i)).get_figure()
pdf.savefig(fig)
您的压痕似乎是错误的。我认为'图=组...'应该去你的for循环 – 2015-04-03 16:18:00
这样做我明白你希望你的pdf文件有50页,每一页有一个不同的数字? – 2015-04-03 16:18:54
这是正确的。我想我不介意每页有多个数字,但是我对上面代码的意图是每页有一个数字。我的缩进可能是错的,我对python仍然很陌生。 – 2015-04-03 16:21:14