You could use 'scatter3' or 'surf' in Matlab. These commands let you plot three-dimensional data as individual points or surfaces, respectively. Both have the option to color the plot based on a fourth parameter.
Mathematically (i.e., without resorting to colour-representation), you might find it helpful to utilise complex numbers - see for example my efforts at http://www.dlmcn.com/astcorr.html#jgw