我有一个多列数据文件。假设我只需绘制第13行的第4个数字。这适用于以下代码:
plot 'datafile' u (some fix x-value):($0==13? $4 :1/0) with points
现在我想从第13行和第11行绘制这些数字的平均值。 像这样:
plot 'datafile' u (some fix x-value):( ($4(line11)+$4(line13.))/2 ) with points
据我所知,无法解决gnuplot中的两行问题,对吧? 我可以在gnuplot中使用awk或sed吗?也许将第11行的值存储在可以在第13行的函数中使用的变量中?
非常感谢您的帮助!
祝福, TOB
答案 0 :(得分:1)
我没有在非常非常长的时间内使用gnuplot而且我真正记得的是我曾经非常依赖awk来解析数据文件。从awk的第13行获得第4个“数字”(我假设你的意思是字段/列)只是:
awk 'NR==13{print $4}' datafile
并获得第11和第13行第4个字段的平均值:
awk 'NR~/^(11|13)$/{sum+=$4} END{print sum/2}' datafile
现在,如果有人可以告诉你如何在gnuplot中使用awk的输出(抱歉,我只是不记得了)那么你就是在做生意。
编辑:快速google gnuplot和awk出现了这个:gnuplot> plot "<awk '{x=x+$2; print $1,x}' file1.dat" with boxes
来自http://security.riit.tsinghua.edu.cn/~bhyang/ref/gnuplot/datafile3-e.html以及其他几个例子。 HTH。