Gnuplot:将最后一个数据点存储为变量

时间:2016-05-17 14:19:25

标签: gnuplot

我想知道是否有一种简单的方法,使用Gnuplot来获取数据文件中的最后一点,说data.txt并将值存储在变量中。

从这个问题来看, accessing the nth datapoint in a datafile using gnuplot 我知道我可以使用stats和GP_VAL_DATA_X_MAX变量来获取X值,但有一个简单的技巧来获得相应的y值吗?

3 个答案:

答案 0 :(得分:4)

第三种可能性是在绘图期间将每个纵坐标值写入相同的用户变量。最后一个值保留在:

 plot dataf using 1:(lasty=$2)
 print lasty

答案 1 :(得分:2)

如果您知道文件的组织方式(分隔符,尾随空行)并且您可以访问标准的Unix工具,则可以使用Gnuplot的system命令。例如,如果没有尾随换行符,并且您的值由制表符分隔,则可以执行以下操作:

x = system("tail -n 1 data.txt | cut -f 1")
y = system("tail -n 1 data.txt | cut -f 2")

tail获取文件的最后n行。cut提取列f。)

请注意,xy是以这种方式获得的字符串,但对于大多数应用程序而言,这无关紧要。如果您必须转换它们,you can still add zero

答案 2 :(得分:2)

如果你想使用Gnuplot,你可以

plot 'data.txt'
plot[GPVAL_DATA_X_MAX:] 'data.txt'
show variable GPVAL_DATA_Y_MAX

OR

plot 'data.txt'
plot[GPVAL_DATA_X_MAX:] 'data.txt'
print GPVAL_DATA_Y_MAX