在Matlab图中更改字体大小


76

我想一次更改“” xlabel,“” ylabel,“轴”,“图例”字体大小的字体大小,这可能吗?默认情况下,字体为Helvetica 10。

有办法改变吗?

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

Answers:


59

乔纳斯(Jonas)的回答很好,但我不得不对其进行一些修改,以使屏幕上的一段文字都可以更改:

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

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

1
一个人将如何修改它以包括轴上数字的字体类型?
硝酸钠

50

如果要更改图形中所有文本的字体大小,可以使用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 2014年

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默认字体情况下更改字体大小,并更改图形中的每种字体,我发现此线程暗示了这一点:

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)')
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.