title string on vertical colorbar

I want to put a colorbar to the right of a plot; fortunately, MATLAB wants to do that too, so a plain call to colorbar works. However, I'd also like to put a readable title on the colorbar to identify the plotted variable & its units. I tried this
h = colorbar;
set(get(h,'title'),'string','ISCCP Daytime Sc Amount (%)');
MATLAB wants to put this above the colorbar (!) where it runs into the plot title. I can rotate the text
h = colorbar;
set(get(h,'title'),'string','ISCCP Daytime Sc Amount (%)','Rotation',90.0);
but it's still centered up above the vertical colorbar. Trying to calculate a position for it in colorbar-relative coordinates is a real pain. Is there another way to correctly position this metadata alongside the colorbar?

1 commentaire

KEVIIN CHRISTOPHER CORDOVIZ
Modifié(e) : Rik le 18 Fév 2020
Simple Solution for this.
h = colorbar;
set(get(h,'label'),'string','ISCCP Daytime Sc Amount (%)');
That way, it will no longer be on top of the colorbar but beside it. :)

Connectez-vous pour commenter.

Réponses (2)

Patrick Kalita
Patrick Kalita le 8 Juil 2011

49 votes

This is kind of hack, but how about this:
h = colorbar;
ylabel(h, 'foo')

6 commentaires

Igor
Igor le 9 Nov 2012
simplicity is the key of prosperity! perfect answer. good job Patrick
Suene
Suene le 18 Nov 2015
great
noone
noone le 4 Avr 2018
This is genius!!!
Roy Goodman
Roy Goodman le 20 Mai 2019
This answer is great, but I have one issue.
I have set all labeling of figures to default to using latex as the intepreter. When I follow this example the ylabel does not show up in latex unlesss I do
ylabel(h, 'foo', 'intepreter', 'latex');
I don't want to have to do this manually, so I added
set(groot,'DefaultColorbarYLabelInterpreter','latex')
to my startup.m file. This returns an error
Error using matlab.ui.Root/set
There is no YLabelInterpreter property on the ColorBar class.
How do I set the default then, I know that there is a ColorbarTickLabelInterpreter class.
Daniyal Altaf Baloch
Daniyal Altaf Baloch le 7 Fév 2020
You saved us. Good answer
Brice Arthur Azangue
Brice Arthur Azangue le 12 Juin 2023
thanks for this code

Connectez-vous pour commenter.

Sara Soufsaf
Sara Soufsaf le 9 Avr 2022
To update Patrick Kalita's answer
h = colorbar;
title(h, 'foo')

Catégories

En savoir plus sur Interactive Control and Callbacks dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by