How do I position a label below a colorbar?

253 views (last 30 days)
Is there a way to add a label below a colorbar, as shown in the pic?
I am able to add a label (title) on top of the colorbar, though I am unsure how to position 'Label2' at the bottom of the colorbar so that it uniformly reflects 'Label1', despite having to adjust clims.
plot(1, 1);
c1 = colorbar;
c1.Title.String = 'Label1';
str = 'Label2';
set(get(c1, 'xlabel'), 'string', str, 'rotation', 0);
  2 Comments
Priyank Pathak
Priyank Pathak on 22 Sep 2022
@dpb, how is it possible to make label at top of colorbar and height(colorbar and label ) and data plot height will be matched?

Sign in to comment.

Accepted Answer

dpb
dpb on 21 Aug 2020
Edited: dpb on 21 Aug 2020
You're almost there...
hCB=colorbar;
hCB.Title.String='Title';
set(hCB.XLabel,{'String','Rotation','Position'},{'XLabel',0,[0.5 -0.01]})
That MathWorks hides all the useful properties is maddening, agreed.
Unfortunately, in colorbar, they also aliased the handles for XLabel, YLabel, and Label to the same object so one is limited to just the two. Anything else one would need to add would have to be an additional text or annotation object.
NB: The above uses an arbitrary position for the y position; another issue is that the title is in figure coordinates in normalized units of figure scaling while the label is in colorbar axis data units.
>> hCB.Title.String='Title'
hCB =
ColorBar (XLabel) with properties:
Location: 'eastoutside'
Limits: [0 1.00]
FontSize: 9.00
Position: [0.82 0.11 0.04 0.82]
Units: 'normalized'
Show all properties
>>
>> hCB.XLabel
ans =
Text (XLabel) with properties:
String: 'XLabel'
FontSize: 9.00
FontWeight: 'normal'
FontName: 'Helvetica'
Color: [0.15 0.15 0.15]
HorizontalAlignment: 'center'
Position: [0.50 -0.01 0]
Units: 'data'
Show all properties
>>

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!