我想知道是否有一种简单的方法,使用Gnuplot来获取数据文件中的最后一点,说data.txt并将值存储在变量中。
从这个问题来看, accessing the nth datapoint in a datafile using gnuplot 我知道我可以使用stats和GP_VAL_DATA_X_MAX变量来获取X值,但有一个简单的技巧来获得相应的y值吗?
答案 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
。)
请注意,x
和y
是以这种方式获得的字符串,但对于大多数应用程序而言,这无关紧要。如果您必须转换它们,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