Combine a number of vectors into a 2D color plot

4 次查看(过去 30 天)
I have a number of intensity profiles (saved as vectors) across the diameter of a laser beam, taken at increments along the length of the beam. I would like to generate a color plot similar to the one attached, with the vectors I have being vertical slices of this image. I have managed to get close using plot3 (second image attached) and setting hold on. With this approach the arguments of plot3 are a 1xn X vector of the distance along the diameter (same for each profile), a 1xn uniform Y vector for the increment along the beam (eg [2;2;2;2;2]), and a 1xn Z vector of the intensity. Is there some way to combine all the separate Z intensity vectors to produce an X,Y,intensity color plot, perhaps using pcolor?
  2 个评论
Benjamin Westberry
Benjamin Westberry 2016-2-10
编辑:Benjamin Westberry 2016-2-10
Hi, yes sorry here they are.
As for what I am trying to do, rather than a Z axis I would like a color map with the height corresponding to a color (the colors here are just generated by MATLAB and are not intended)

请先登录,再进行评论。

采纳的回答

Jos (10584)
Jos (10584) 2016-2-10
Are all the vectors Zn of the same length? Then you can concatenate them into a single matrix with M rows (M is the number of slices/vectors) and N rows (N is the number of points along the slice).
You can create a surf plot an view it from the top, along these lines to:
surf(peaks)
view([0 90])
xlabel('X') ; ylabel('Y')
  3 个评论
Benjamin Westberry
Benjamin Westberry 2016-2-11
Your suggestion worked once I transposed each vector before appending to the matrix. Thanks a lot!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by