我有多个文件(每个有10列),顺序如下:
file_001.txt, file_002.txt, file_003_txt,
file_021.txt, file_023.txt, file_023.txt,
file_041.txt, file_042.txt, file_043.txt,
file_061.txt, file_062.txt, file_063.txt,
file_081.txt, file_082.txt, file_083.txt,
我想用不同的线条绘制每个文件。例如使用1:2,使用1:3,使用1:5,使用1:8。我无法循环调用不同的列。我的以下脚本不适用于k字段
plot for [k=2, 3, 5, 8] for [j=0:8:2] for [i=1:3] 'file_0'.j.i.'.txt' u 1:k;
答案 0 :(得分:4)
如果您有列表而不是范围,请使用for [k in "2 3 5 8"]
。
答案 1 :(得分:2)
如果j
可以> 9,你应该设置一个功能
fname(j,i) = sprintf("name%02.f%.f",j,i)
获取正确的文件名。
格式字符串“%02.f”表示浮点数(f),逗号后面没有数字(。),最少两个位置(2),用零填充空格。
print fname(2,3)
name023
print fname(13,3)
name133
print fname(113,3)
name1133
这些是libc格式的字符串,它们没有在gnuplot文档中记录,但网络上有很多来源。