MATLAB Answers

How do I position a label below a colorbar?

조회 수: 30(최근 30일)
NA
NA 21 Aug 2020
편집: dpb 21 Aug 2020
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);

  댓글 수: 0

댓글을 달려면 로그인하십시오.

채택된 답변

dpb
dpb 21 Aug 2020
편집: dpb 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
>>

  댓글 수: 1

NA
NA 21 Aug 2020
Thank you very much! It's so much clearer now.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by