title string on vertical colorbar
Afficher commentaires plus anciens
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
le 30 Jan 2018
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. :)
Réponses (2)
Patrick Kalita
le 8 Juil 2011
This is kind of hack, but how about this:
h = colorbar;
ylabel(h, 'foo')
6 commentaires
Igor
le 9 Nov 2012
simplicity is the key of prosperity! perfect answer. good job Patrick
Suene
le 18 Nov 2015
great
noone
le 4 Avr 2018
This is genius!!!
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
le 7 Fév 2020
You saved us. Good answer
Brice Arthur Azangue
le 12 Juin 2023
thanks for this code
Sara Soufsaf
le 9 Avr 2022
To update Patrick Kalita's answer
h = colorbar;
title(h, 'foo')
Catégories
En savoir plus sur Numeric Types 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!