在 Matlab 图中更改字体大小

Posted

技术标签:

【中文标题】在 Matlab 图中更改字体大小【英文标题】:Changing Fonts Size in Matlab Plots 【发布时间】:2012-02-14 14:36:35 【问题描述】:

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

有办法改变吗?

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

【问题讨论】:

【参考方案1】:

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

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

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

axes('FontSize',24);

【讨论】:

【参考方案2】:

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

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

【讨论】:

请参阅下面的answer by @sergeyf 以更改轴标签字体。【参考方案3】:

要更改整个 MATLAB 会话的默认属性,请参阅how default properties are handled 上的文档。

举个例子:

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

【讨论】:

【参考方案4】:

可以通过将以下行添加到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

知道它应该放在哪里。

【讨论】:

【参考方案5】:

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

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

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

【讨论】:

如何修改它以包含轴上数字的字体类型?【参考方案6】:

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

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

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

【讨论】:

【参考方案7】:

如果有人想知道如何在不弄乱 Matlab 默认字体 的情况下更改字体大小以及更改图中的 every 字体,我发现 this thread 在哪里建议:

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

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

希望对你有帮助。

【讨论】:

以上是关于在 Matlab 图中更改字体大小的主要内容,如果未能解决你的问题,请参考以下文章

如何更改绘图图中的字体大小[重复]

更改 python 子图中的字体大小

在 Python pylab 玫瑰/极坐标图中更改图例标题的字体大小

如何更改 seaborn 联合图中注释的字体大小?

如何使用R中的绘图功能更改散点图中x轴和y轴标签的字体大小和颜色?

如何使用 seaborn FacetGrid 更改字体大小?