我有两个数据集,它们都涉及同一个过程以两种不同的方式执行。相对于实际时间,执行A
比执行B
要慢,但是这两个图表代表着同样的现象。
可以将它们绘制在一起,如下所示:
plot 'A' using 1:2, 'B' using 1:2
但是我得到了两个具有不同X轴刻度的图表:
A
速度较慢,所以图表更大。我可以通过以下方式对图表进行归一化处理:
plot 'A' using ($1 / maxA):2, 'B' using ($1 / maxB):2
这对我来说完美地解决了问题。唯一的问题是maxA
和maxB
变量。它们很容易确定(分别为tail -n1 A | cut -f1
和tail -n1 B | cut -f1
),但我想知道是否有自动化的方法。
非常感谢您的任何帮助。
更新
在应用了Wrzlprmft的优秀答案后,我最终得到了以下方案,非常方便:
max(Source) = system('tail -n ' . Source . '| cut -f1')
A = 'path/to/A'
maxA = max(A)
plot A using ($1 / maxA):2
另一个可能的改进是在max
函数中包含一个Column
参数,这样我们也可以调整cut
命令中-f
标志的参数。
更新
我改变了接受方案的想法,因为stats
命令似乎更适合此目的。
谢谢大家。