how to display a vector as colorplot of to other vectors

3 views (last 30 days)
Hi, I couldn't figure that one out myself, so hopefully somebody has a solution.
I have three vectors X, Y, and Z of same dimension, so that Z(k) is a height for horizontal coordinates (X(k),Y(k)). I want to display Z as a color plot over the horizontal area that encompasses all coordinate pairs of X and Y. All functions I know (pcolor, surf, etc) require Z to be a matrix which is not really feasible due to memory problems since the vectors are quite large (appr. 250000 elements). Also, the horizontal coordinates are not on a regular grid but more like a point cloud.
Any idea how to display the data as it is would be appreciated.
Cheers, Peter
  3 Comments
Image Analyst
Image Analyst on 13 Jan 2016
It's just a list of 3D points:
x1, y1, z1
x2, y2, z2
x3, y3, z3
etc.
xn, yn, zn
Each row is one point, though he has it in 3 different arrays: x, y, and z. You would never pair things from different rows - it doesn't make sense. So if you're looking at the 4th point, you would use x(4), y(4) to get the lateral location, and then z(4) to get the Z height. You would never use x(2) and y(37) because there is no point there. Does that make sense now?
Vaibhav Awale
Vaibhav Awale on 13 Jan 2016
Yes, thank you for explaining that. scatter3 or plot3 will work well in that case as suggested by Star Strider.
Another option might be to map values in z vector to RGB values and make a plot of each point with the corresponding color from z vector.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 13 Jan 2016
If you have a point cloud, the scatter3 or plot3 functions would work. There are a number of options for coloring the points.
If you want to grid them at some point, see if scatteredInterpolant will do what you want.
  1 Comment
Image Analyst
Image Analyst on 13 Jan 2016
I was also going to suggest the same thing: first get a regular image with scatteredInterpolant(), then display with some normal display function like imshow(), surf(), or whatever. Some other cool visualization options are in the MATLAB Gallery: http://www.mathworks.com/products/matlab/plot-gallery.html

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!