2014-11-16 32 views
1

我有兩個時域信號。現在我想繪製信號1的10..20秒範圍和信號2範圍12 ... 22秒的範圍。然而,我嘗試了這種方式,其將失敗:Gnuplot:對齊幾個圖

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

你能否具體談談在它失敗的方式嗎?你能展示一個有代表性的數據樣本嗎? –

+0

gnuplot對第二個範圍定義([12:22])說「無效表達式」。 – user1283244

+0

您是否需要準確指定每個軸的範圍,或者您會對gnuplot計算範圍感到滿意嗎?你可以用'ytics autofreq'和'y2tics autofreq'來做後者。 –

回答

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 

外部程序可以簡單地是在awk利用一個shell腳本過濾不感興趣橫座標。

enter image description here

這是比較容易我的建議映射到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