Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gnuplot conditional plotting: plot col A:col B if col C == x

Tags:

gnuplot

How can I do this in gnuplot:

plot "test.csv" using 1:2 if value_in_column_3 == 80.0 

It should only select those rows where column 3 == 80.0 and ignore all other rows (It should not plot a 0 for the other rows, simply ignore them)

Thanks in advance.

like image 950
jitihsk Avatar asked Jul 03 '11 18:07

jitihsk


1 Answers

Consider the following dataset (1.dat),

1 0.8 0 2 0.6 0 3 0.9 1 4 1.1 0 5 0.7 0 6 0.6 1 

where we want to plot the first two columns only when the third one equals zero. Then you can try this:

plot '1.dat' using 1:($3==0?$2:1/0) 

(Credit to markjoe on Gnuplot mailing-list.)

like image 193
chl Avatar answered Sep 19 '22 12:09

chl