How to add gray to out of range in the colormap?

13 views (last 30 days)
Hi,
How to add gray color to out of range colormap, inorder to have bettter visulaization. In the following code, I need gray color for values which are not between 10 to 60.
imagesc(xFocP,yFocP,Ax_map);
colormap jet;
colorbar;
caxis([10 60])

Accepted Answer

DGM
DGM on 18 Nov 2021
You might try something like this:
[x y z] = peaks(100);
surf(x,y,z);
shading flat
camlight
numcolors = 64;
g = [1 1 1]*0.8;
cmap = parula(numcolors);
cmap = [g; cmap; g];
cextents = [-4 5];
offset = range(cextents)*(size(cmap,1)/numcolors - 1)/2;
caxis(cextents + [-offset offset])
colormap(cmap)
colorbar

More Answers (1)

Mathieu NOE
Mathieu NOE on 18 Nov 2021
coming too late in the show ....
hello
my 2 cents suggestion :
% dummy data
N = 25;
Z = peaks(N);
Z = Z*5+35;
ZZ = Z;
ind = find(Z<10 | Z>60);
ZZ(ind) = 0;
% plot
figure
imagesc((1:N),(1:N),ZZ);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n = 128; % dark grey => decrease n; light grey => increase n;
tmp = [n n n]/255; % grey color
mymap = [tmp;jet(255)]; % my colormap
colormap(mymap);
hcb=colorbar('ver'); % colorbar handle
hcb.Limits = [10 60];
hcb.FontSize = 12;
hcb.Title.String = "Range";
hcb.Title.FontSize = 15;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  6 Comments

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!