我有一个基于groupby
创建大约50个图表的代码。代码如下所示:
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中时,这只保存了一个数字(我系列中的最后一个)。任何帮助将不胜感激。
答案 0 :(得分:7)
代码中存在缩进错误。由于您的绘图命令不在循环中,因此它只会创建最后一个绘图。
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)