Pandas plt.savefig通过循环不工作

Pandas plt.savefig通过循环不工作,pandas,for-loop,matplotlib,time-series,Pandas,For Loop,Matplotlib,Time Series,我已经看到有类似主题的问题,但答案并不适用于我的问题。 我试图循环浏览数据帧列表(一个时间序列),并为每个数据帧保存一个带有四个子图的图形。代码和循环工作正常(显示所有绘图),直到我使用plt.savefig添加该行。我正在Spyder 3.1.4中使用Phyton 3.6 当我添加plt.savefig命令时,仅显示循环中的第一个绘图,并收到错误消息: filename_or_obj = open(filename_or_obj, 'wb') FileNotFoundError: [Errn

我已经看到有类似主题的问题,但答案并不适用于我的问题。 我试图循环浏览
数据帧列表
(一个时间序列),并为每个数据帧保存一个带有四个子图的图形。代码和循环工作正常(显示所有绘图),直到我使用plt.savefig添加该行。我正在Spyder 3.1.4中使用Phyton 3.6

当我添加plt.savefig命令时,仅显示循环中的第一个绘图,并收到错误消息:

filename_or_obj = open(filename_or_obj, 'wb')

FileNotFoundError: [Errno 2] No such file or directory:
下面是一些测试数据和代码

#non-fancy test data
dates = pd.date_range(start='2008-01-01 00:30:00',end='2018-01-01 00:00:00',freq='30T')
data1 = pd.DataFrame(np.random.randint(0,100,size=(175344, 4)),columns=list('ABCD'))
data2 = pd.DataFrame(np.random.randint(0,100,size=(175344, 4)),columns=list('ABCD'))
d1={'col_1': datetest, 'col_2': data1['D'],'col_3':data1['D'],'col_4': data1['D'],'col_5': data1['D'] }
d2={'col_1': datetest, 'col_2': data2['D'],'col_3':data2['D'],'col_4': data2['D'],'col_5': data2['D'] }
df1 = pd.DataFrame(data=d1)
df2 = pd.DataFrame(data=d2) 

#make a list
t_list=[df1,df2]

#start the loop for plotting
for year in t_list:
      ax1 = plt.subplot(411)
      ax2 = plt.subplot(412)
      ax3 = plt.subplot(413)
      ax4 = plt.subplot(414)
      ax1.plot_date(year.col_1,year.col_2)
      ax2.plot_date(year.col_1,year.col_2)
      ax3.plot_date(year.col_1,year.col_2)
      ax4.plot_date(year.col_1,year.col_4)
      plt.savefig('{}.png'.format(year))
      plt.close()

我也尝试过
'lala'+str(year)+'.png'
,但没有成功。当我选择一个不变的静态名称时,最后一个子选项将保存到一个文件中。我读了一些相关主题的帖子,但是我找不到一个可以帮助我解决问题的帖子。

year
是一个数据框架。不能将数据帧格式化为可接受为文件名的字符串

使用类似

for i, year in enumerate(t_list):
    # ...
    plt.savefig('lala'+str(i)+'.png')
相反