2015-05-29 107 views
1

我有兩列gnuplot的條件繪圖與如果

10 0.5 
20 0.8 
25 0.3 
15 0.6 

我要繪製的第二列,如果第一列是小於或等於20的問題是一個數據文件,我要跳過的行第一列大於20,但是gnuplot迫使我在條件部分做些事情。

的命令是

plot 'data.txt' u ($1<=20?$2:0) with points 

正如你所看到的,我必須指定把零點。我不想那樣!我想跳過....

回答

3

跳過gnuplot的一個點,你必須給它的值無效像1/0

plot 'data.txt' u 1:($1 <= 20 ? $2 : 1/0) with points 

注意,這僅適用於一些繪圖風格。如果剩餘的點應該與線連接,則該線在無效點處中斷。在這種情況下,您必須使用外部工具/腳本來執行過濾,例如

plot "< awk '$1 <= 20' data.txt" using 1:2 with lines