我有两个不同的文本文件,每个文件都有一个数据列和一个值列。 Ĩ想要使用'plot for'循环绘制两者,但我想改变输出的名称以匹配我正在绘制的文件。现在我的代码看起来像这样:
set terminal postscript eps color
set out "test.eps"
set size 0.6
set multiplot
set xdata time
set timefmt "%Y-%m"
set format x "%b\n%y"
set xtics "2004-01", 12*2629746, "2016-12"
filenames = 'ArcheryData.txt CanyoningData.txt'
plot for [file in filenames] file u 1:2 w l title file
我现在得到的是test.eps文件,该文件在同一图表中绘制了两个数据文件。
答案 0 :(得分:0)
在这种情况下,您可以将do
循环用作:
set terminal postscript eps color
set size 0.6
set xdata time
set timefmt "%Y-%m"
set format x "%b\n%y"
set xtics "2004-01", 12*2629746, "2016-12"
do for [ name in "ArcheryData CanyoningData" ]{
set output name.".eps"
plot name.".txt" u 1:2 w l title name
}
或者,可以在调用Gnuplot时指定变量name
,因此脚本为:
set terminal postscript eps color
set size 0.6
set xdata time
set timefmt "%Y-%m"
set format x "%b\n%y"
set xtics "2004-01", 12*2629746, "2016-12"
set output name.".eps"
plot name.".txt" u 1:2 w l title name
然后可以将其用作gnuplot -e "name='ArcheryData';" fig.gpl