If you want to change font size for all the text in a figure, you can use
findall to find all text handles, after which it's easy:
figureHandle = gcf; %# make all text in the figure to size 14 and bold set(findall(figureHandle,'type','text'),'fontSize',14,'fontWeight','bold')
To change the default property for your entire MATLAB session, see the documentation on how default properties are handled.
As an example:
set(0,'DefaultAxesFontSize',22) x=1:200; y=sin(x); plot(x,y) title('hello'); xlabel('x'); ylabel('sin(x)')
It's possible to change default fonts, both for the axes and for other text, by adding the following lines to the
% 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)
If you don't know if you have a
startup.m file, run
to find its location. If Matlab says there isn't one, run
to know where it should be placed.
If anyone was wondering how to change the font sizes without messing around with the Matlab default fonts, and change every font in a figure, I found this thread where suggests this:
set(findall(fig, '-property', 'FontSize'), 'FontSize', 10, 'fontWeight', 'bold')
findall is a pretty handy command and in the case above it really finds all the children who have a
'FontSize' property: axes lables, axes titles, pushbuttons, etc.
Hope it helps.
To change the title font size, use the following example
to the change the graph axes label font size, do the following
Jonas's answer does not change the font size of the axes. Sergeyf's answer does not work when there are multiple subplots.
Here is a modification of their answers that works for me when I have multiple subplots: