Well there are four possible approaches that come to mind (although I am sure that there are many more) but basically you could either plot the data as a perspective plot, a contour plot, a heat map or if you prefer a 3-D scatter plot (which is more or less a perspective plot when you have values of $z$ for all $(x,y)$ pairs. Here are some examples of each (from a well known 3-D data set in `R`): ![enter image description here][1] ![enter image description here][2] ![enter image description here][3] ![enter image description here][4] So depending on your preference will dictate which way you like to visualize 3-D data sets. Here is the `R` code used to generate these four mentioned plots. library(scatterplot3d) #Data for illistarition x = seq(-10, 10, length= 100) y = x f = function(x, y) { r = sqrt(x^2+y^2); 10 * sin(r)/r } z = outer(x, y, f) z[is.na(z)] = 1 #Method 1 #Perspective Plot persp(x,y,z,col="lightblue",main="Perspective Plot") #Method 2 #Contour Plot contour(x,y,z,main="Contour Plot") #Method 3 #Heatmap image(x,y,z,main="Heat Map") #Method 4 #3-D Scatter Plot X = expand.grid(x,y) x = X[,1] y = X[,2] z = c(z) scatterplot3d(x,y,z,color="lightblue",pch=21,main="3-D Scatter Plot") [1]: https://i.sstatic.net/sfGra.png [2]: https://i.sstatic.net/x1w95.png [3]: https://i.sstatic.net/wMq9m.png [4]: https://i.sstatic.net/NMxHY.png