plotting points in 3d surface using x,y,z coordinates

1.4k Views Asked by At

I need to plot some points in 3d surface based on x,y,z coordiantes values in a file named as test.dat

test.dat file contains


At-No X Y Z

 6                   3.532210   -2.171743    0.921140
 7                   1.164869   -1.418981    0.782133
 1                   2.454732    2.332989   -0.907213
 6                  -3.246376   -1.047325   -0.602590
 6                  -2.620684    0.053348   -0.013310
 6                  -4.569969   -1.249720   -0.617858
 6                  -3.436335    1.003953    0.597094
 1                  -5.328079   -0.323336   -0.025131

First value indicates At-no(Atomic number) , second value indicates x coordinates value, 3rd value indicate y coordinates values and finally 4th value indicate z coordinate value.

I tried Gnuplot

splot "test.dat" u 1:2:3 ps variable pt 7

but it give a blank screen . I want to display points on 3d surface.... Points with At-no 6 display in red color and 7 with blue and 1 with green. Is it possible to display points like this

Thanks in Advance................

1

There are 1 best solutions below

2
On BEST ANSWER

You can use conditional plotting.

splot 'data.txt' u ($1==6 ? $2:1/0):3:4 title 'At-no 6' w points pt 7, \
      'data.txt' u ($1==7 ? $2:1/0):3:4 title 'At-no 7' w points pt 7, \
      'data.txt' u ($1==1 ? $2:1/0):3:4 title 'At-no 1' w points pt 

This creates

enter image description here