plot different data in one surface plot

3 views (last 30 days)
i want to plot different data on one surface plot. for example :the left half part of the axis plot data1 with colormap1 ,the right half part of the axis plot data2 with colormap2
how can i do that?
for example in x range [0,25] plot surf(peaks) x range[25,50] plot surf(sine(peaks))

Accepted Answer

Cris LaPierre
Cris LaPierre on 23 Apr 2021
One way to do this is to create a matrix with the results of peaks in 1-25 and sin(peaks) in 26-50.
mat = peaks;
mat(:,26:end) = sin(mat(:,26:end));
surf(mat)
view(2)
  2 Comments
jun li
jun li on 23 Apr 2021
thank you very much. but now these two data have the same colormap ,sometimes i want to give each data a different colormap, how can i do that
Cris LaPierre
Cris LaPierre on 23 Apr 2021
In a surface plot, color is typically based on the Z value. I don't know of a simple way to apply two different colormaps, each to half of the axis. You would have to use a custom colormap, and most likely manually assign the colors using the color input.
Since this is a separate question, I'd suggest creating a new question to attract those with expertise doing this. As a first pass, consider looking at similar questions that have already been asked. Perhaps one of them contains a solution you can use.

Sign in to comment.

More Answers (0)

Categories

Find more on Colormaps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!