我想从数据文件列表中自动生成graphics。
更多细节:我有一个包含我所有数据文件的目录。 我需要为这些文件(数百个)生成一个图表。 我有一个gnuplot文件来生成一个graphics,但数据文件的名称被指定到gnuplot脚本中。
例如 :
plot 'myfile' index 1 using 1:2 with linespoints pointtype 2 linecolor rgb "green" title "leg"
我需要能够replace“我的文件”的variables名称,可以迭代我的目录的所有文件。
从Windows上的bash脚本运行Openssl – 主题不以“/”开头
Windows上的MobaXterm Home启动时不会读取本地.bashrc
Windows上的多个并行MSys / MingW安装
如何在bash脚本中访问/ cygdrive / c / ..
从Git Bash运行Ruby时出现“Bad Interpreter:No Medium”错误
“在这里打开git bash”和“在这里打开命令提示符”从Windows资源pipe理器上下文菜单中消失
用于在cygwin中指定dynamicconfiguration文件名称的命令/语法
通过Cygwin(调用shell脚本)创build的文件没有正确的Windows权限
如何将当前cygwin目录转换为Windows格式
运行“Cygwin.bat”时运行“bash”(.bash_profile与.bashrc)
您可以使用以下命令来创建(Windows)批处理文件:
for %%G in (*.dat) do gnuplot.exe -e "fn='%%G'" script
这将为当前目录中的每个.dat文件运行gnuplot(和脚本 )。
-e开关用于通过命令行输入变量 (这里是文件名,如果它包含空格,则用引号括起来)。
如果要直接从shell运行此命令(而不是在批处理文件中),请从两个对中的每一个中删除一个%符号。
在脚本文件中:
plot fn index 1 using 1:2 with linespoints pointtype 2 linecolor rgb "green" title "leg"
如果数据文件具有“规范化”名称(例如data1.dat , data2.dat …),请data2.dat https://stackoverflow.com/a/14947085/3235496
一般来说,你可以迭代gnuplot中的许多文件,如下所示:
set terminal pdfcairo list = "fileA fileB fileC" do for [file in list] { set output file . '.pdf' plot file }
这种迭代至少需要4.6.0版本。 在这个例子中你有一个固定的文件名列表(这些不允许包含空格)。
在Windows上,你可以使用
list = system('dir /b *.txt')
获取包含当前目录中所有.txt文件的列表。 请注意,您必须使用wgnuplot_pipes.exe才能正常工作。
在一个Unix系统上,你可以使用
list = system('ls *.txt')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。