我正在使用gnuplot绘制包含许多列的文件:
plot for [i=2:119] "./file.dat" using 1:i w l lt 9
它工作正常,但我无法编辑它以打印移位的行。 我想打印这个,其中N是移位值
plot for [i=2:119] "./file.dat" using 1:$i+N w l lt 9
但是我收到了错误($上的^):
gnuplot> plot for [i=2:119] "./file.dat" using 1:$i+1 w l lt 9
"./file.plt", line 182: Column number expected
解决方法是使用AWK,但在这种情况下,我遇到了一些错误。
答案 0 :(得分:3)
要保持最接近当前脚本,您可以按照以下步骤进行操作
plot for [i=2:119] "./file.dat" using 1:(column(i+N)) w l lt 9
我希望它不言自明,但gnuplot help using
提供了有关column()
答案 1 :(得分:1)
我发现记住如何对存储为变量的列号进行操作或者甚至是可能的操作变得棘手。但有两种解决方法:
1)更改范围
plot for [i=(2+N):(119+N)] "./file.dat" using 1:i ...
2)使用中间变量
do for [i=2:119] {
ii = i + N
plot "./file.dat" using 1:ii ...
}