- 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)
Show older comments
Santos García Rosado
on 13 Apr 2021
Commented: Adam Danz
on 14 Apr 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?
Thank's in advance for your time.
Santos
0 Comments
Accepted Answer
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.
Key variables
[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 Comments
More Answers (0)
See Also
Categories
Find more on Orange 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!