image thumbnail

multigradient: custom gradient colormap

version 1.5.6 (46.3 KB) by Laurens R Krol
An adjustable multiple-colour gradient colour map generator / editor for MATLAB, with presets.

259 Downloads

Updated 12 Jan 2021

From GitHub

View license on GitHub

This script allows you to generate a colour scale (as for colormap, colorbar) using any number of custom colours, and allows you to arrange these colours by adjusting their relative positions with respect to each other, much like you may be used to creating gradients in e.g. Adobe Photoshop or CorelDRAW. It will automatically interpolate the colours in between the indicated anchor points.

In its most basic form, simply call the script using an n-by-3 matrix of RGB values, and it will generate the colour map accordingly. For example, multigradient([1 0 0; 1 1 0; 0 1 0]) will return a map that blends from red through yellow to green, of the same size as the current figure's color map. Further tricks are optional. Note that some of these tricks use the Image Processing Toolbox, specifically the rgb2lab and lab2rgb functions.

* Interpolation in RGB space. Simple linear interpolation of the given RGB values.
* Interpolation in HSV space. Linear interpolation of the values after conversion into HSV, for e.g. the rainbow colormap: multigradient([1 0 0; 0 0 1], 'interp', 'hsv').
* Isoluminant interpolation in L*a*b* space. The L* value is equalised for all given colours before linear interpolation and conversion back to RGB. Note that some colour clipping may occur due to the gamut differences.
* Interpolation in Kenneth Moreland's Msh space for divergent colour maps for scientific visualisation. A neutral unsatured middle point is automatically inserted if the two endpoint colours for the diverging map are sufficiently distinct. See: Moreland, K. (2009). Diverging color maps for scientific visualization. In Proceedings of the 5th International Symposium on Visual Computing, doi: 10.1007/978-3-642-10520-3_9 mirrored at https://www.kennethmoreland.com/color-maps/ColorMapsExpanded.pdf
* Control points allow the relative distances between the colours to be adjusted.
* Many presets, including colour scales designed by Kenneth Moreland (https://www.kennethmoreland.com) and Cynthia Brewer (http://colorbrewer2.org), are included.
* Colour scales can easily be reversed.

Cite As

Laurens R Krol (2021). multigradient: custom gradient colormap (https://github.com/lrkrol/multigradient), GitHub. Retrieved .

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

Community Treasure Hunt

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

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.