脚本Gnuplot在Windows操作系统

我想从数据文件列表中自动生成graphics。

更多细节:我有一个包含我所有数据文件的目录。 我需要为这些文件(数百个)生成一个图表。 我有一个gnuplot文件来生成一个graphics,但数据文件的名称被指定到gnuplot脚本中。

例如 :

plot 'myfile' index 1 using 1:2 with linespoints pointtype 2 linecolor rgb "green" title "leg" 

我需要能够replace“我的文件”的variables名称,可以迭代我的目录的所有文件。

Solutions Collecting From Web of "脚本Gnuplot在Windows操作系统"

您可以使用以下命令来创建(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.datdata2.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')