MATLAB: Using colormap in plot3d

3d plotscolormapscatter3

Hello everyone,
I have a matrix of 500×3 in which columns are x,y,z values of a single point respectively. I am plotting this with scatter3 function and use the Z values as the colormap. But now, I want the every Z value increase in some interval(for ex. from 5 to 6) but X and Y are constant for every point. So I used to have 500 points in the plot but now I want to have 500 lines instead of points(with constant x,y and changing z means line to me). I realized I can do that with plot3d but I cant use the Z values as colormap in that.
Is there any other way to do this?
Thank for you answers

Best Answer

plot3(x,y,z) will produce 1 line object for each column of the inputs. Each line object can have its own color. So, all you have to do is arrange the data properly.
h = plot3([x(:).'.*[1;1]], [y(:).'.*[1;1]]), [z1(:).', z2(:).'], '-');
set(h, {'Color'}, mat2cell(jet(numel(x)),ones(numel(x),1),3));
The syntax [x(:).'.*[1;1]] produces two rows of identical x values.
The mat2cell() syntax converts your color matrix to cell array of 1x3 values.