我有一个由三列x,y1和y2组成的文件。我需要知道y2具有最大值的值。要找到y2的最大值很容易:
stats 'test2-EDB.dat' u 3
我知道y2在文件的第6779行有一个最大值
STATS_index_max = 6779.0
然而,我需要它在文件的第6779行的x值。你有什么建议吗?哪个最佳平台无关?
我在这里找到的解决方案(Reading dataset value into a gnuplot variable (start of X series))是:
at(file, row, col) = system( sprintf("awk -v row=%d -v col=%d 'NR == row {print $col}' %s", row, col, file) )
file="test2-EDB.dat" ; row=STATS_index_max ; col=1
c=at(file,row,col)
但是,我怀疑这个解决方案在Windows上也没有任何问题(不知道,我没有使用它)。
最诚挚的问候, 莱昂纳多
答案 0 :(得分:3)
您可以使用every
获取stats
命令来获取x值:
stats 'test2-EDB.dat' u 3
stats 'test2-EDB.dat' u 1 every ::STATS_index_max::STATS_index_max
print sprintf("x-value is %e", STATS_max)