Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make points one color when a third column equals zero, and another color otherwise, in Gnuplot?

Tags:

I need to vary the point color for a row of values based on the color in one column. The data:

# x y z 1, 3, 0   1, 5, 6   3, 5, 2   4, 5, 0 

The color should be one value if the column is zero and a different color if the value in the third column is non-zero.

So, I'm assuming:

plot "./file.dat" u 1:2:3 with points palette 

as found here: https://stackoverflow.com/a/4115001 will not quite work.

In the above example data, that gnuplot command provides three different colors instead of the two I'm looking for.

like image 298
JessicaB Avatar asked Jan 03 '12 19:01

JessicaB


1 Answers

This is probably close to what you want:

set palette model RGB defined ( 0 'red', 1 'green' ) plot[0:5][0:6] "file.dat" u 1:2:( $3 == 0 ? 0 : 1 ) with points palette 

You could go one step further and remove the "noise":

unset key unset colorbox plot[0:5][0:6] "file.dat" u 1:2:( $3 == 0 ? 0 : 1 ) with points pt 7 ps 3 palette 

if only the differentiation between zero and non-zero matters.

like image 113
vaettchen Avatar answered Oct 24 '22 17:10

vaettchen