使用 gnuplot 4.2,是否可以获取特定列/行的值并以某种方式使用该值?
例如,假设我的数据文件包含以下内容
#1 2
7 13
5 11
23 17
53 12
对于一个简单的图,其中第 1 列是 x 轴,第 2 列是 y 轴,我会:-
plot 'datafile' using 1:2
我想要做的是通过该列中的第一个元素 (13) 来规范化第 2 列中的所有数据。有没有办法在 gnuplot 本身中做到这一点(即,不首先求助于脚本语言或其他东西来预处理数据)?
干杯
最佳答案
使用运行平均值演示,我成功地实现了标准化为第二列的第一个值的绘图。
base
变量用于存储引用值,first
函数在第一行初始化base
。
first(x) = ($0 > 0 ? base : base = x)
plot file.dat u 1:(first($2), base/$2)
应该提到的是,这不是使用 gnuplot 4.2 完成的。
编辑:根据 Christoph 的建议进行了更新。
关于scripting - 从 gnuplot 中的不同行获取特定元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/242314/