Awk 迭代时多列文件的gnuplot操作
我正在使用gnuplot绘制一个包含许多列的文件:Awk 迭代时多列文件的gnuplot操作,awk,gnuplot,iteration,Awk,Gnuplot,Iteration,我正在使用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 但是我收到了错误(美元上的“^”): 解决方法是使用AWK,但在这种情况下,我也会遇到一些错误。我发现,要记住如何对存储为变量的列号执行操作,或者如果
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
但是我收到了错误(美元上的“^”):
解决方法是使用AWK,但在这种情况下,我也会遇到一些错误。我发现,要记住如何对存储为变量的列号执行操作,或者如果可能的话,会变得很棘手。不过,有两种解决办法: 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 ...
}
要与当前脚本保持最接近,可以按如下操作
plot for [i=2:119] "./file.dat" using 1:(column(i+N)) w l lt 9
我希望它是不言自明的,但是使用gnuplot帮助提供了有关column()的更多信息
plot for [i=2:119] "./file.dat" using 1:(column(i+N)) w l lt 9