如何解决绘制时删除文件路径并使用文件编号进行一些计算
我正在尝试从目录中按以下顺序读取.txt文件;
x-23.txt
x-43.txt
x-83.txt
:
:
x-243.txt
我正在使用filename = system("ls ../Data/*.txt")
调用这些文件。目标是加载这些文件并绘制某些列。同时,我试图解析文件名,使其看起来如下所示,以便我可以将它们用作绘图中的标题并从特定列中添加/减去它们;
23
43
83
:
:
243
为此,我尝试了以下操作;
dirname = '../Data/'
str = system('echo "'.dirname. '" | perl -pe ''s/x[\d-](\d+).txt/\1.\2/'' ')
cv = word(str,1)
以上行似乎没有修剪并在文件上产生数字。代码都在一起;
filelist1 = system("ls ../Data/*.txt")
print filelist1
dirname = '../Data/'
str = system('echo "'.dirname. '" | perl -pe ''s/x[\d-](\d+).txt/\1.\2/'' ')
cv = word(str,1)
plot for [filename1 in filelist1] filename1 using (-cv/1000+ Tx($4)):(X($3)) with points pt 7 lc 6 title system('basename '.filename1),\
在解析.txt文件以在绘图时从列Tx($4)
中减去它们之后,我尝试使用文件编号“ cv”。
解决方法
directory = "../temp/"
filelist = system("cd ../temp/ ; ls *.txt")
files = words(filelist)
filename(i) = directory . word(filelist,i)
title(i) = word(filelist,i)[3 : strstrt(word(filelist,i),'.')-1]
plot for [i=1:files] filename(i) using ... title title(i)
测试用例(已编辑以显示从另一个目录提取文件):
gnuplot> print filelist
x-234.txt
x-23.txt
x-2.txt
x-34.txt
gnuplot> do for [i=1:files] { print i,": ",filename(i) }
1: ../temp/x-234.txt
2: ../temp/x-23.txt
3: ../temp/x-2.txt
4: ../temp/x-34.txt
gnuplot> plot for [i=1:files] x*i title title(i)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。