Python 传入标签列表以在for循环中生成图形

Python 传入标签列表以在for循环中生成图形,python,matplotlib,Python,Matplotlib,当前正在尝试保存每个图形,每个图形的名称来自for循环中的列表 输入: plot_l=['test1','test2',.........] for i in range(ydata.shape[1]): plt.figure() fig, ax = plt.subplots(constrained_layout=True) ax.plot(dsfg,ydata[i]) ax.set_xlab

当前正在尝试保存每个图形,每个图形的名称来自for循环中的列表

输入:

 plot_l=['test1','test2',.........]  

for i in range(ydata.shape[1]):
            plt.figure()
            fig, ax = plt.subplots(constrained_layout=True)
            ax.plot(dsfg,ydata[i])
            ax.set_xlabel('dsfg')
            ax.set_ylabel('tzui')
            ax.set_title('misc ') 
            secax.set_xlabel('len')
            plt.savefig('plot_l{0}.jpg'.format(i))
            plt.close()
输出:生成图形,但图形名称不正确,即

plot_l1.png
plot_l2.png
plot_l3.png
期望输出:

test1.png
test2.png
test3.png

我还尝试了
plt.savefig(plot_l[I]+'.png')
来代替
plt.savefig('plot_l{0}.jpg')。欢迎使用格式(I))
建议……感谢您对
范围生成的整数进行迭代:

for i in range(ydata.shape[1]):
您将使用此参数
i
命名文件

plt.savefig('plot_l{0}.jpg'.format(i))
假设没有错误,并且名称列表包含的名称数量与
i
上迭代的名称数量相同(即
ydata.shape[1]==len(plot\u l)
),则可以将
savefig
替换为:

plt.savefig(f'{plot_l[i]}.jpg')

后面跟一个字符串的符号
f
相当于
str.format()
,但更为明确,因为您可以将正在格式化的变量放在
{}
中,谢谢。我的行为越来越奇怪。我的编辑器返回了我列表长度的75倍。然而。我的文件夹中没有数字。。。如果我抑制plt.close(),我可以在编辑器中看到这些图形……我发现了问题。列表中的每个字符串中都有一个冒号。我把它拿走了。这些数字现在在我的文件夹里。谢谢