2015-05-29 127 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