python - 传入标签列表以在 for 循环中生成图形
问题描述
目前正在尝试使用来自 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'.format(i))
建议欢迎....谢谢
解决方案
您正在迭代由生成的整数range
:
for i in range(ydata.shape[1]):
您正在使用此参数命名文件i
。
plt.savefig('plot_l{0}.jpg'.format(i))
假设没有错误并且名称列表包含与i
(ie ydata.shape[1] == len(plot_l)
) 上的迭代一样多的名称,那么您可以将 替换为savefig
:
plt.savefig(f'{plot_l[i]}.jpg')
f
后跟字符串的符号等效于str.format()
,但更明确,因为您可以将要格式化的变量放在{}
.
推荐阅读
- php - Docusign ClickWrap API
- python - 如何根据行索引创建文件多列的列表?
- jekyll - 我想要在 jekyll 中的当前年份和给定年份之间有所不同
- android - 在 AutoCompleteTextView 适配器中选择了错误的项目
- amazon-web-services - AWS SQS:如何检查是否处理了多条消息
- c++ - 图像拼接大战透视尺寸问题
- javascript - 目标域事件未触发?
- mysql - 我需要一个表中的信息来反映另一个表中生成的列
- javascript - 如何在 React js 中使用 map 生成表中的行?
- flutter - 请求了不包括本地化祖先的上下文的语言环境