Изменение размера шрифтов на графиках Matlab - PullRequest
73 голосов
/ 20 января 2012

Я хочу изменить размер шрифта на xlabel, ylabel, размер оси, размер шрифта легенды a.k.a все сразу, возможно ли это? По умолчанию используется шрифт Helvetica 10.

Есть ли способ изменить это?

Я хочу использовать 'FontSize', 14, для x или y .

Ответы [ 7 ]

59 голосов
/ 11 июля 2012

Ответ Джонаса хороший, но мне пришлось немного изменить его, чтобы получить каждый фрагмент текста на экране для изменения:

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

set(findall(gcf,'type','text'),'FontSize',30,'fontWeight','bold')
50 голосов
/ 20 января 2012

Если вы хотите изменить размер шрифта для всего текста на рисунке, вы можете использовать findall, чтобы найти все текстовые маркеры, после чего это легко:

figureHandle = gcf;
%# make all text in the figure to size 14 and bold
set(findall(figureHandle,'type','text'),'fontSize',14,'fontWeight','bold')
45 голосов
/ 22 января 2012

Можно изменить шрифты по умолчанию, как для осей, так и для другого текста, добавив следующие строки в файл 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 file, запустите

which startup

, чтобы найти его местоположение.Если Matlab говорит, что его нет, запустите

userpath

, чтобы узнать, где его следует разместить.

8 голосов
/ 12 ноября 2013

Если кому-то интересно, как изменить размер шрифта, не возиться с стандартными шрифтами Matlab и изменить каждый шрифт на рисунке, я нашел эту тему , где это предполагает:

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

findall - довольно удобная команда, и в приведенном выше случае она действительно находит всех детей, имеющих свойство 'FontSize': метки осей, названия осей, кнопки , и т.д.

Надеюсь, это поможет.

5 голосов
/ 04 сентября 2013

Ответ Джонаса не меняет размер шрифта осей.Ответ Sergeyf не работает при наличии нескольких участков.

Вот модификация их ответов, которая работает для меня, когда у меня есть несколько участков:

set(findall(gcf,'type','axes'),'fontsize',30)
set(findall(gcf,'type','text'),'fontSize',30) 
5 голосов
/ 20 января 2012

Чтобы изменить размер шрифта заголовка, используйте следующий пример

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

чтобы изменить размер шрифта метки осей графика, сделайте следующее

axes('FontSize',24);
4 голосов
/ 20 января 2012

Чтобы изменить свойство по умолчанию для всего сеанса MATLAB, см. Документацию по , как обрабатываются свойства по умолчанию .

Например:

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