Изменение размера шрифтов на графиках Matlab

67

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

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

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

Теги:
matlab-figure

7 ответов

56
Лучший ответ

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

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

set(findall(gcf,'type','text'),'FontSize',30,'fontWeight','bold')
  • 1
    Как можно изменить это, чтобы включить тип шрифта для чисел на осях?
49

Если вы хотите изменить размер шрифта для всего текста на рисунке, вы можете использовать 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 ниже для изменения шрифта метки оси.
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

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

8

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

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

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

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

5

Ответ Jonas не изменяет размер шрифта осей. Ответ Sergeyf не работает, когда есть несколько подзаговоров.

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

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

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

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

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

axes('FontSize',24);
4

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

В качестве примера:

set(0,'DefaultAxesFontSize',22)
x=1:200; y=sin(x);
plot(x,y)
title('hello'); xlabel('x'); ylabel('sin(x)')
  • 2
    ссылка мертва ---

Ещё вопросы

Сообщество Overcoder
Наверх
Меню