gnuplot - 我怎么能延迟一系列?

时间:2013-03-20 16:49:09

标签: gnuplot lag

我在一个文件中有2个系列,我希望延迟一个以便我可以做散点图?

最好,我想在以下功能中执行此操作:

f(x,y) = x*(y-previous(y))

有办法做到这一点吗?

甚至

plot "mydata.txt" u 3:(lagged($3))

会有所帮助

Welcome to the XWin X Server 
Vendor: The Cygwin/X Project 
Release: 1.13.3.0 
OS: CYGWIN_NT-6.1-WOW64 LskyHome2 1.7.17(0.262/5/3) 2012-10-19 14:39 i686 
OS: Windows 7 Service Pack 1 [Windows NT 6.1 build 7601] (WoW64) 
Package: version 1.13.3-1 built 2013-03-09 

1 个答案:

答案 0 :(得分:0)

您可以定义一个功能:

lag(x) = ($0 == 0) ? (val1 = x, 0) : (val2 = val1, val1 = x, val1-val2)

返回每个点与前一个点之间的差值,如果是第一个数据点,则返回0。 $0是行号伪列;如果从绘图命令中调用它们,函数可以看到数据文件中的列。

您可以像

一样使用它
plot 'mydata.txt' u 3:(lag($3))