# Density Plot Discrete Points

30 views (last 30 days)
Arian Arab on 11 Dec 2015
Answered: Image Analyst on 12 Dec 2015
Hello everyone, I am plotting a discrete data set with the function imagesc(x,y,z). as you know this functions colors each point (x,y) with color z on squares of edge 1. my problem is that in my data set, x and y are not integers. for example (0.1,0.1,2) and (0.2,0.2,3), can anyone kindly help me and let me know what type of function i have to use to plot this data set? It is like a temperature density plot where you have the temperature at each position T(x,y), but x and y are not integers. Thanks a lot.

Joseph Cheng on 11 Dec 2015
Edited: Joseph Cheng on 11 Dec 2015
take a look at the Surface Plots of Nonuniformly Sampled Data section of http://www.mathworks.com/help/matlab/visualize/representing-a-matrix-as-a-surface.html and instead of mesh when plotting you can use imagesc() or surf and change view.
or if you can change the vector/array of z into a matrix you can define the unique values of x and y. (see below if the data is easily converted into a matrix)
x = -10:.1:10;
y = x;
[X Y]= meshgrid(x,y);
Z = X.^2+Y.^2;
figure(1),imagesc(x,y,Z)

Image Analyst on 12 Dec 2015
You can use the function scatteredInterpolant() to estimate values on a regular grid from your scattered data located at various random locations. once you have that you can use imshow() to display your new image.