在matplotlib中将多个数字保存到一个pdf文件中

Ste*_*ter 7 python matplotlib

我有一个代码,可以创建大约50个图表groupby.代码如下所示:

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)
Run Code Online (Sandbox Code Playgroud)

当我希望将所有数据存储到一个pdf中时,这只保存了一个数字(我系列中的最后一个).任何帮助,将不胜感激.

Jul*_*nck 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)
Run Code Online (Sandbox Code Playgroud)