% Create 13-level blue/red diverging color map: level = 13; n = ceil(level/2); cmap1 = [linspace(1, 1, n); linspace(0, 1, n); linspace(0, 1, n)]'; cmap2 = [linspace(1, 0, n); linspace(1, 0, n); linspace(1, 1, n)]'; cmap = [cmap1; cmap2(2:end, :)]; imagesc(peaks(500)); colormap(vivid(cmap)); caxis([-8 8]); colorbarNotice how vivid it looks! vivid also has additional options to change the level of gradients. Less vivid:
colormap(vivid(cmap, [.4, .6]));More vivid:
colormap(vivid(cmap, [0, 1]));You can also get the regular colormap behavior:
colormap(vivid(cmap, [.5 .5]));More on Colormaps As I was writing this post, I learned quite a bit about colormaps. MATLAB has a set of standard colormaps described here. There are a few File Exchange entries that create additional colormaps, such as cbrewer, othercolor, and Color Palette Tables. There are also colormaps that would look nice when printed on a grayscale printer - Lab color scale and colorGray. I also found a couple of entries that would have helped me with creating the blue/red diverging colormap - bluewhitered and makeColorMap. Comments Check out all the File Exchange entries on colormaps! If you have your favorite colormap, let us know here or try Joseph's vivid and leave a comment for him.
Get the MATLAB code Published with MATLAB® 7.13
5 CommentsOldest to Newest
Another file exchange contribution with some handy colormaps (includung some vivid ones, and ones that look fine when printed in grayscale) is SC:
It also avoids discretizing the image into a fixed number of colors, and makes it easy to save the resulting image to an image file. Run it with no inputs for a demo.
That’s a great one! I knew I was going to miss some good ones when I was looking through all the different entries on colormaps. Thanks for pointing it out. I like the extensive demo you have with explanations!
My favorite is lutbar from us:
POW in January 8th, 2010
My favorite is the somewhat cryptically named pmkmp (http://www.mathworks.com/matlabcentral/fileexchange/28982), which returns a colormap that looks pretty but doesn’t pretend the image is segmented into a few classes.
Comments: Great post. I love this colormap.
A similar one (not divergent, here is an example: http://www.searchanddiscovery.com/documents/2007/07071blumentritt/images/03.htm) is used quite a bit in oil industry to map surface of structures interpreted from seismic data.
That one is very useful partucluarly when trying to display at once many surfaces that are offset by significan change in elevation. Each surface would then get a hue and the saturation would map the elevation change within the particular structure.
When it comes to perceptually improved colormaps, I can’t but like this one I created:
There are also this entry by Matthias Geissbuehler: