title string on vertical colorbar
Show older comments
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 Comment
KEVIIN CHRISTOPHER CORDOVIZ
on 30 Jan 2018
Edited: Rik
on 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. :)
Answers (2)
Patrick Kalita
on 8 Jul 2011
This is kind of hack, but how about this:
h = colorbar;
ylabel(h, 'foo')
6 Comments
Igor
on 9 Nov 2012
simplicity is the key of prosperity! perfect answer. good job Patrick
Suene
on 18 Nov 2015
great
noone
on 4 Apr 2018
This is genius!!!
Roy Goodman
on 20 May 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
on 7 Feb 2020
You saved us. Good answer
Brice Arthur Azangue
on 12 Jun 2023
thanks for this code
Sara Soufsaf
on 9 Apr 2022
To update Patrick Kalita's answer
h = colorbar;
title(h, 'foo')
Categories
Find more on Numeric Types in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!