gnuplot中的循环-不同的文件夹
如何在gnuplot中使用此命令?创建了一个图形,但将此图形作为数据文件读取,从而导致错误gnuplot中的循环-不同的文件夹,gnuplot,Gnuplot,如何在gnuplot中使用此命令?创建了一个图形,但将此图形作为数据文件读取,从而导致错误 j=0;do for [i in system("ls")] { j=j+1; set term png; set output ''.i.'.png' ; p i w p lc rgb "navy" t ''.i } 我还尝试: j=0;do for [i in system (/media/)] { j=j+1; set term png; set output ''.i.'.png' ; p i
j=0;do for [i in system("ls")] { j=j+1; set term png; set output ''.i.'.png' ; p i w p lc rgb "navy" t ''.i }
我还尝试:
j=0;do for [i in system (/media/)] { j=j+1; set term png; set output ''.i.'.png' ; p i w p lc rgb "navy" t ''.i }
但它是无效的表达。如何为输出设置不同的文件夹
或者如何将目录中的所有数据绘制成各种图形?是否可以在gnuplot中使用类似*.r的文件?尽管根据使用的命令,您的问题是在Linux下,但在Windows下的逻辑是相同的。下面是一个例子。 假设有五个文件夹(
folder01
到folder05
),每个文件夹包含一个.txt
文件(file01.txt
,…,file05.txt
)
以下脚本必须位于父目录上,即包含其他文件夹的文件夹
set terminal pngcairo
# Under Windows, it saves the all .txt filenames.
# The search includes all subdirectories.
files = system("dir /b /s *.txt")
# Individual png files
do for [file in files]{
set output file[:strlen(file)-4] . '.png'
plot file u 1:2 w lp pt 6 pi -1 t file
}
# OR
# All files together
set key Left left reverse
set out "all_plots.png"
plot for [file in files] file u 1:2 w lp pt 6 pi -1 t file
单个绘图的结果(缩略图):
所有曲线图的结果如下:
非常感谢,当我将所有用于打印的文件都放在一个目录中时?请问
系统(“dir/b/s*.txt”)
部分中的dir/b/s是什么意思?它的意思是:在实际目录(dir
)及其子目录(/s
)下,搜索所有.txt文件(*.txt
)并在基本(/b
)模式下显示结果。对于一个目录案例,只需使用dir/b*.txt
。当script.gnu在同一目录中时,它应该是system(“*.b”)
?我得到了一个错误sh:1:BAb02-14。b:notfound
和/b也给出了错误(目录不存在)我对linux下的系统命令一无所知。可能类似于系统(“ls*.b”)
!?你实现目标了吗?如果这个答案确实对你有帮助,请将其标记为“帮助他人”。