multigradient: custom gradient colormap
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.
Citation pour cette source
Laurens R Krol (2026). multigradient: custom gradient colormap (https://github.com/lrkrol/multigradient), GitHub. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- MATLAB > Graphics > Labels and Styling > Color and Styling > Red >
Tags
Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées
| Version | Publié le | Notes de version | |
|---|---|---|---|
| 1.5.6 | Updated sample.m and description following Vittorio Picco's comment. |
|
|
| 1.5.5 | - Fixed typo in preset seq.cb.YlGnBu name
|
|
|
| 1.5.3 | - Updated preset naming convention
|
|
|
| 1.5.0 | - Added L*a*b* isoluminant interpolation (labiso)
|
|
|
| 1.0.0 |
|
