plot different data in one surface plot

1 visualizzazione (ultimi 30 giorni)
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))

Risposta accettata

Cris LaPierre
Cris LaPierre il 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 Commenti
jun li
jun li il 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 il 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.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by