# Use two colormaps on 3D figure.

1 vue (au cours des 30 derniers jours)
Santos García Rosado le 13 Avr 2021
Commenté : Adam Danz le 14 Avr 2021
Hello Mathwork's community!
I've used the surf function in order to get the attached figure.
I was wondering if I could use two different colormaps so that when z<= 10 I could use for example colormap winter. And when z>10 use colormap summer.
Any ideas on how I can achieve this succesfully?
Santos
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

Adam Danz le 14 Avr 2021
Follow this demo. The colorbar ranges approximately from -6 to 8 and the transition between Winter and Summer colormaps happens at 2.
Key variables
• h - handle to the surface object
• transitionValue - the color value where the transition should happen
• n - the total number of values in the combined colormap (the more the better).
• ax - the axis handle.
[X,Y,Z] = peaks(25);
h = surf(X,Y,Z);
axis square
colorbar
% set transition value
transitionValue = 2;
n = 256; % number of colormap value
ax = gca();
% change colormap. Use winter below transition value
% and summer above transition value.
clim = [min(h.CData(:)), max(h.CData(:))]; % range of color values
np = round(abs(clim - transitionValue) / range(clim) * n); %number of color values from each colormap
cmap = [winter(np(1)); summer(np(2))];
ax.Colormap = cmap;
ax.CLim = clim;
##### 2 commentairesAfficher AucuneMasquer Aucune
Santos García Rosado le 14 Avr 2021
Modifié(e) : Santos García Rosado le 14 Avr 2021
Adam Danz le 14 Avr 2021
Great to hear!

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Blue dans Help Center et File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!

Translated by