在Matlab绘图中更改字体大小

77

我想同时更改xlabelylabel、轴尺寸、图例字体大小等所有内容的字体大小,这是否可能?默认情况下,字体是Helvetica 10。

有没有办法改变这个?

我想使用'FontSize',14来设置xy标签。

7个回答

60

乔纳斯的回答很好,但我不得不稍微修改一下才能使屏幕上的每个文本都改变:

set(gca,'FontSize',30,'fontWeight','bold')

set(findall(gcf,'type','text'),'FontSize',30,'fontWeight','bold')

1
如何对其进行修改,以便在坐标轴数字中包括字体类型? - sodiumnitrate

51

如果你想改变图形中所有文本的字体大小,可以使用 findall 找到所有文本句柄,然后就很容易了:

figureHandle = gcf;
%# make all text in the figure to size 14 and bold
set(findall(figureHandle,'type','text'),'fontSize',14,'fontWeight','bold')

2
请参考下面@sergeyf的答案,以更改轴标签字体。 - texnic

45

你可以通过在startup.m文件中添加以下行来更改默认字体,包括轴和其他文本。

% Change default axes fonts.
set(0,'DefaultAxesFontName', 'Times New Roman')
set(0,'DefaultAxesFontSize', 14)

% Change default text fonts.
set(0,'DefaultTextFontname', 'Times New Roman')
set(0,'DefaultTextFontSize', 14)

如果你不知道自己是否有startup.m文件,可以运行以下命令:

which startup

查找其位置。如果Matlab说没有,运行

userpath

了解它应该放在哪里。


9
如果有人想知道如何在不影响Matlab默认字体的情况下改变字体大小,并更改图中的每个字体,我找到了this thread,其中建议使用以下命令: set(findall(fig, '-property', 'FontSize'), 'FontSize', 10, 'fontWeight', 'bold') findall是一个非常方便的命令,在上面的例子中它真正找到了所有具有'FontSize'属性的子元素:轴标签、轴标题、按钮等。
希望能帮到您。

5

要更改标题字体大小,请使用以下示例:

title('mytitle','FontSize',12);

要更改图表轴标签字体大小,请按照以下步骤操作:

axes('FontSize',24);

5

Jonas的回答不会改变轴的字体大小。 Sergeyf的回答在存在多个子图时无效。

以下是我修改过的答案,可以在多个子图中使用:

set(findall(gcf,'type','axes'),'fontsize',30)
set(findall(gcf,'type','text'),'fontSize',30) 

4

要更改整个MATLAB会话的默认属性,请参阅有关默认属性处理方式的文档。

例如:

set(0,'DefaultAxesFontSize',22)
x=1:200; y=sin(x);
plot(x,y)
title('hello'); xlabel('x'); ylabel('sin(x)')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接