How to customize a colormap?

I'm plotting a parameter with a range of 0 to 6. Several of my collaborators have been suggesting to create a colormap to go from red to blue at 1 (the critical point <1 means undersaturated, and >1 means supersaturated) to better illustrate the point.
I wonder what's the best way to achieve this within Matlab?

 Accepted Answer

Another option —
cm = colormap(turbo(6));
cm = colormap(flipud(turbo(6))); % Optional
cb = colorbar;
cbtix = cb.Ticks;
cb.Ticks = linspace(min(cbtix), max(cbtix), 7);
cb.TickLabels = 0:6;
The turbo colormap was introduced in R2020b.
I am not certain how you want it oriented, so use the flipud function to reverse the direction of the colours (as I did here), if necessary.
.

6 Comments

Many thanks! Great to learn of this new function.
As always, my pleasure!
BTW, how do I change the colormap of Turbo? Right now, the default colormap of Turbo seems to be "jet", which is prohibited by most journals because they are not friendly to people who are colorblind.
The jet and turbo colormap appearances are similar, however the colour ordering between them is distinctly different. The turbo colormap closely approximates the normal spectral ordering, while jet does not. (I chose turbo because it approximates the behaviour you described as the desired colour order.)
There are several other colormap options available that you can experiment with, depending on the journal requirements.
The two most common varieties of colour vision impairment involve the red-green axis and the blue-yellow axis, so avoiding both of those is going to be a problem!
Many thanks for the explanation!
As always, my pleasure!

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2022a

Tags

Asked:

on 30 Jul 2022

Commented:

on 30 Jul 2022

Community Treasure Hunt

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

Start Hunting!