File Exchange

image thumbnail

custom colormap

version (2.33 KB) by Durga Lal Shrestha
sets the colormap according to monotonically increasing user defined ranges


Updated 19 Jun 2012

View License

This function is useful if you don't want to use the linear scaled colormap that are the default in Matlab.


% cbar_labels - Vector (n x 1) of monotonically increasing ranges of data
% user_cmap - Matrix ((n-1) x 3) of colormap you want to see
% minMaxValues - Vector (2 x 1) of minimum and maximum value of data
% that is plotted
data = rand(10,10);
minVal = min(min(data));
maxVal = max(max(data));
cbar_labels = [0 0.12 0.2 0.3 0.5 0.6 0.75 0.8 1]; % user defined ranges
user_cmap = jet(8); % user defined colormap
customcmap(cbar_labels,user_cmap,[minVal maxVal])

Bug and comments are welcome.

Cite As

Durga Lal Shrestha (2020). custom colormap (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (6)

Great Function. Love it.

The only issue is, when making maps with contourf() with EdgeColor on and changing subsequently the colors with CUSTOMCMAP(), the isolines are wrong (still the old ones). However, that's not a real issue / not the job of CUSTOMCMAP()


It does not seems to compatible to subplot.

Zhi Liu

Zhi Liu

How should I adjust it so that I can show gradients between labels?


Minor bug fixed.

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired: Valcolor