필터 지우기
필터 지우기

Hat on letter on x/ylabel WITHOUT using LaTeX?

조회 수: 17 (최근 30일)
Minas Emiris
Minas Emiris 2020년 4월 23일
댓글: Minas Emiris 2020년 4월 29일
Hi all,
I am wondering how I can add a 'hat' above a character on a plot without, however, changing the font to LaTeX, as I was my font style to remain default.
Thanks!
  댓글 수: 1
dpb
dpb 2020년 4월 23일
LaTeX is not the font, it's the text interpreter...sure probably know that, but just for clarification/precision of terminology.
Can't be done w/ TeX as an interpreted sequence; TeX only displays a character from the set in the table outlined in the documentation under the 'Interpreter' property at text function entry.
You can try to use text to write two characters

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

채택된 답변

dpb
dpb 2020년 4월 23일
figure, plot(sort(rand(10,4))) % preliminaries...
% engine
hTxt=text(4,0.6,'x'); % location arbitrary for given data set
hTxt(2)=text(4.0,0.6,'\bf\wedge','VerticalAlignment','bottom','FontSize',6);
results in
Not perfect bit fiddling w/ positioning, font size, etc., etc., may improve things a little. It looked less obtrusive and more aligned over the character on the figure itself than the saved one here for some reason.
  댓글 수: 5
Robert U
Robert U 2020년 4월 23일
You can use the rotation-property of text() but the circumflex won't rotate properly in Matlab 2019b. Don't know whether this is fixed in 2020a.
Minas Emiris
Minas Emiris 2020년 4월 29일
Thank you Robert!

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

추가 답변 (1개)

Robert U
Robert U 2020년 4월 23일
Hi Minas Emiris,
convert the circumflex from unicode to string via sprintf (see here, unicode table for combining characters found here) and use append to create the string for the labels (as shown here):
circumFlex = sprintf('\x0302')
fh = figure;
ah = axes(fh);
ah.XLabel.String = append('T',circumFlex);
Kind regards,
Robert

카테고리

Help CenterFile Exchange에서 Axis Labels에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by