MATLAB: How can i change the color of one mark in colorbar

changing colorcolorbarmark

For example, I like the colorbar 'jet', but I want the cyan mark to be in different color. I was changing it manually but it's really tedious if I have a lot of plots. Can I change it in code?

Best Answer

Get the colormap values, find the respective color (RGB) you want to change and replace it with your desired (RGB) color. Check the below code.
[X,Y,Z] = peaks(25) ;
figure(1)
surf(X,Y,Z)
colorbar
c = colormap(jet) ;
title('original jet')
figure(2)
idx = find(ismember(c,[0 1 1],'rows')) ; % get cyan color index
c(idx,:) = [0 0 0] ; % change cyan to black
surf(X,Y,Z)
colorbar
colormap(c)
title('Cyan in jet changed to black')
Related Question