Changing Fonts Size in Matlab Plots

前端 未结 7 1848
隐瞒了意图╮
隐瞒了意图╮ 2020-12-07 11:55

I want to change Font Size for xlabel, ylabel, axis size, legend font size a.k.a everything at once, is this possible? By default, font is Helvetic

相关标签:
7条回答
  • 2020-12-07 12:01

    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:

    set(findall(gcf,'type','axes'),'fontsize',30)
    set(findall(gcf,'type','text'),'fontSize',30) 
    
    0 讨论(0)
  • 2020-12-07 12:05

    Jonas's answer is good, but I had to modify it slightly to get every piece of text on the screen to change:

    set(gca,'FontSize',30,'fontWeight','bold')
    
    set(findall(gcf,'type','text'),'FontSize',30,'fontWeight','bold')
    
    0 讨论(0)
  • 2020-12-07 12:08

    It's possible to change default fonts, both for the axes and for other text, by adding the following lines to the startup.m file.

    % 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

    which startup
    

    to find its location. If Matlab says there isn't one, run

    userpath
    

    to know where it should be placed.

    0 讨论(0)
  • 2020-12-07 12:19

    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)')
    
    0 讨论(0)
  • 2020-12-07 12:21

    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')
    
    0 讨论(0)
  • 2020-12-07 12:25

    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.

    0 讨论(0)
提交回复
热议问题