2012-01-19 116 views
65

我想要一次更改字體大小xlabelylabel,軸大小,圖例字體大小a.k.a是否可能?默認情況下,字體是Helvetica 10.在Matlab圖中更改字體大小

有沒有辦法改變這個?

我想使用'FontSize',對於xy標籤使用'FontSize'。

回答

55

喬納斯的回答是不錯的,但我不得不稍微修改它來獲得一段文字在屏幕上改變:

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

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

如何修改此以包含軸上數字的字體類型? – sodiumnitrate

5

要更改標題的字體大小,使用下面的示例

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

的變化圖表軸標籤字體大小,請執行下列操作

axes('FontSize',24); 
48

如果您想更改字體大小在圖中的所有文字中,您可以使用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回答](http://stackoverflow.com/a/11439487/674976)以更改軸標籤字體。 – texnic

4

要更改整個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)') 
+1

鏈接已死 - --- –

44

這有可能改變默認字體,既爲座標軸和其他文本,通過添加以下行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

喬納斯的回答不會改變軸的字體大小。 當有多個子圖時,Sergeyf的答案不起作用。

這裏是他們的答案的修改時,我有多個分支情節,對我的作品:

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

如果有人想知道如何更改字體大小不與Matlab的默認字體亂搞,和改變字體的身影,我發現this thread其中表明這一點:

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

findall是一個非常方便的命令,並在上述情況下它真的找到所有誰擁有'FontSize'屬性孩子:軸標貼,軸標題,按鈕

希望它能幫助。