我有两个时域信号。现在我想绘制信号1的10..20秒范围和单个图中信号2的12 ... 22秒范围。但是,我尝试了这种方式,但失败了:
plot [10:20] 'signal1.txt' using 1:2 with line lt -1 lw 1 fc rgb "black" title 'Signal 1',\
[12:22] 'signal2.txt' using 1:2 with line lt -1 lw 1 fc rgb "black" title 'Signal 2'
gnuplot对第二个范围定义([12:22])说“无效表达”。
有什么想法吗?
答案 0 :(得分:1)
如果尝试
plot [3:6] sin(x), [-2:8] cos(x)
很容易意识到唯一重要的区间是第一个。
为了达到他/她的意图,OP可能会重复使用外部程序或使用与
类似的东西set xrange [-10:10]
plot x<3?1/0:x<=6?sin(x):1/0, x<-2?1/0:x<=8?cos(x):1/0
外部程序可能只是一个shell脚本,利用awk
过滤不感兴趣 abscissae。
将我的提案映射到OP要求相对容易
plot 's1' using 1:($1<10?1/0:$1<=20?$2:1/0) w l, 's2' using 1:($1<14?1/0:$1<=22?$2:1/0) w