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 Kommentar

KEVIIN CHRISTOPHER CORDOVIZ
KEVIIN CHRISTOPHER CORDOVIZ am 30 Jan. 2018
Bearbeitet: Rik am 18 Feb. 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. :)

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Patrick Kalita
Patrick Kalita am 8 Jul. 2011

49 Stimmen

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

6 Kommentare

Igor
Igor am 9 Nov. 2012
simplicity is the key of prosperity! perfect answer. good job Patrick
Suene
Suene am 18 Nov. 2015
great
noone
noone am 4 Apr. 2018
This is genius!!!
Roy Goodman
Roy Goodman am 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 am 7 Feb. 2020
You saved us. Good answer
Brice Arthur Azangue
Brice Arthur Azangue am 12 Jun. 2023
thanks for this code

Melden Sie sich an, um zu kommentieren.

Sara Soufsaf
Sara Soufsaf am 9 Apr. 2022

1 Stimme

To update Patrick Kalita's answer
h = colorbar;
title(h, 'foo')

Kategorien

Produkte

Gefragt:

am 8 Jul. 2011

Community Treasure Hunt

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

Start Hunting!

Translated by