Python 传入标签列表以在for循环中生成图形
当前正在尝试保存每个图形,每个图形的名称来自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
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(),我可以在编辑器中看到这些图形……我发现了问题。列表中的每个字符串中都有一个冒号。我把它拿走了。这些数字现在在我的文件夹里。谢谢