Is it possible to eliminate a color range from certain colormap?

12 views (last 30 days)
Saeed Mohammadian
Saeed Mohammadian on 5 Apr 2019
Answered: DGM on 28 Jan 2022
I am using colormap hsv in my plots, but I do not want the upper red color in the colorbar because it can be confusing with the lower red. Can I manually edit this color range?
Thanks
Untitled.png

Answers (2)

KSSV
KSSV on 5 Apr 2019
Z = peaks(100) ;
figure(1)
pcolor(Z)
cmap = hsv ;
colormap(cmap)
% Remove red
idx = cmap(:,1)==1 ;
cmap(idx,:) = [] ;
figure
pcolor(Z)
colormap(cmap)

DGM
DGM on 28 Jan 2022
Old, I know ...
If you want to break the circularity of hsv(), you can do so by doing the interpolation yourself:
z = peaks(100);
ncolors = 64;
cm = hsv(6); % the minimal set of primaries and secondaries
cm = interp1(1:6,cm,linspace(1,6,ncolors));
imagesc(z);
colormap(cm)
colorbar

Tags

Community Treasure Hunt

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

Start Hunting!