I can't seem to change figure font name

조회 수: 3 (최근 30일)
Chris Oxford
Chris Oxford 2017년 12월 1일
댓글: Greg 2018년 7월 18일
I run the following simple code and get Helvetica as a font.
fntsz=10;
font='LibreBaskerville-Regular';
axes1=axes('FontName',font,'FontSize',fntsz);
plt1=plot(TDMAINVTAO{1}.sd(:,1),TDMAINVTAO{1}.sd(:,2),'b');
set(plt1,'parent',axes1)
xlabel('Diameter (nm)')
ylabel('dN/dD{p} (#/cc/nm)')
I have tried the following as well...
set(findall(fig1,'-property','FontName'),'FontName',font)
When I try to change the axes font using the axes property editor, LibreBaskerville-Regular is not available.
However, when I run listfonts, LibreBaskerville-Regular is in the list.
I am currently running R2012a.
Chris

채택된 답변

Jan
Jan 2017년 12월 2일
Set the default values for the fonts, when you create the figure:
font = 'LibreBaskerville-Regular';
figure('DefaultTextFontName', font, 'DefaultAxesFontName', font);
axes;
text(0.5, 0.5, 'Hello!');
Now the text and the tick labels use the wanted font.
  댓글 수: 5
Jan
Jan 2017년 12월 8일
Which "editor" do you mean?
Chris Oxford
Chris Oxford 2017년 12월 8일
If I have the figure open, I click edit in the menu bar, and select axis properties. Then select the font tab. The font name will be listed as Helvetica. If I query through get(), it will return LibreBaskerville-Regular.

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

추가 답변 (1개)

Greg
Greg 2017년 12월 2일
It looks like the 'NextPlot' (normally manipulated with hold on and hold off) behavior includes things like FontName for the axes. Try:
font='LibreBaskerville-Regular';
axes1=axes();
plt1=plot(axes1,TDMAINVTAO{1}.sd(:,1),TDMAINVTAO{1}.sd(:,2),'b');
set(axes1,'FontName',font,'FontSize',fntsz);
  댓글 수: 2
fluid
fluid 2018년 7월 18일
Yeah, this is it
Greg
Greg 2018년 7월 18일
You can change your accepted answer if this one is more accurate or complete.

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

카테고리

Help CenterFile Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by