76

我想一次更改字体大小xlabelylabel轴大小、图例字体大小,也就是所有内容,这可能吗?默认情况下,字体为 Helvetica 10。

有没有办法改变这个?

我想为xy标签使用 'FontSize',14。

4

7 回答 7

59

Jonas 的回答很好,但我不得不稍微修改一下,才能让屏幕上的一段文字都发生变化:

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

set(findall(gcf,'type','text'),'FontSize',30,'fontWeight','bold')
于 2012-07-11T18:55:03.983 回答
50

如果要更改图中所有文本的字体大小,可以使用findall查找所有文本句柄,之后很容易:

figureHandle = gcf;
%# make all text in the figure to size 14 and bold
set(findall(figureHandle,'type','text'),'fontSize',14,'fontWeight','bold')
于 2012-01-19T22:58:23.010 回答
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

知道它应该放在哪里。

于 2012-01-21T23:18:54.433 回答
9

如果有人想知道如何在不弄乱Matlab 默认字体的情况下更改字体大小,并更改图中的每个字体,我发现这个线程建议这样做:

set(findall(fig, '-property', 'FontSize'), 'FontSize', 10, 'fontWeight', 'bold')

findall'FontSize'是一个非常方便的命令,在上面的例子中,它确实找到了所有拥有属性的孩子:轴标签、轴标题、按钮等。

希望能帮助到你。

于 2013-11-12T00:04:03.943 回答
5

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

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

要更改图形轴标签字体大小,请执行以下操作

axes('FontSize',24);
于 2012-01-19T22:53:53.050 回答
5

乔纳斯的回答不会改变轴的字体大小。当有多个子图时,谢尔盖夫的回答不起作用。

当我有多个子图时,这是对他们答案的修改:

set(findall(gcf,'type','axes'),'fontsize',30)
set(findall(gcf,'type','text'),'fontSize',30) 
于 2013-09-04T11:43:10.207 回答
4

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

举个例子:

set(0,'DefaultAxesFontSize',22)
x=1:200; y=sin(x);
plot(x,y)
title('hello'); xlabel('x'); ylabel('sin(x)')
于 2012-01-19T23:02:18.743 回答