Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gnuplot中的循环-不同的文件夹_Gnuplot - Fatal编程技术网

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

如何在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 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”)
!?你实现目标了吗?如果这个答案确实对你有帮助,请将其标记为“帮助他人”。