- 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.
Use two colormaps on 3D figure.
2 views (last 30 days)
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?
Thank's in advance for your time.
Adam Danz on 14 Apr 2021
Follow this demo. The colorbar ranges approximately from -6 to 8 and the transition between Winter and Summer colormaps happens at 2.
[X,Y,Z] = peaks(25);
h = surf(X,Y,Z);
% 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;