Colormap that looks good when printed grayscale

Version (12.3 KB) by Fab
Defining colors to exploit both the color and intensity contrasts good for grayscale
Updated 13 Oct 2015

View License

The endless quest of defining a colormap that looks good when printed in grayscale has ended.
This library allows the definition of rgb colors so that they can be picked for maximum contrast between their Hue and the equivalent grayscale intensity. The library uses the HSV convention, and calculates the S and V values for other palettes required to reflect the grayscale intensity of the red color. In this way, you can input colors by specifying color type (Hue) and grayscale intensity (Int), and you can be assured that when multiple colors are printed in grayscale, the resulting intensity is matched. The library includes the matrix of S and V conversions "HSVBWColormap.mat" and the function HInt2RGB that creates RGB values.
Example on how to use the file, to define a 6 colors colormap. Note that, with the addition of white and black, this allows use of 8 colors when needed.

rgb(1,:)=HInt2RGB(1,100); % red, darkest
rgb(2,:)=HInt2RGB(7,82); % cyan, less dark
rgb(3,:)=HInt2RGB(3,64); % green, less dark
rgb(4,:)=HInt2RGB(9,46); % magenta, less dark
rgb(5,:)=HInt2RGB(2,28); % orange, less dark
rgb(6,:)=HInt2RGB(7,10); % blue cyan, lightest

X=[0 1 1 0];
Y=[0 0 1 1];


Note that the resulting darkness is decreasing, and the colors change maximizing contrast (change in Hue between adjacent patches is 120-180 deg).


Cite As

Fab (2024). Colormap that looks good when printed grayscale (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Greyscale in Help Center and MATLAB Answers

Inspired: squink(Colors,Gamma), jetwhite(Colours)

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes