web-dev-qa-db-fra.com

Modification de la taille des polices dans les graphiques Matlab

Je souhaite modifier la taille de la police pour xlabel, ylabel, taille de l'axe, taille de la légende a.k.a tout en même temps, est-ce possible? Par défaut, la police est Helvetica 10.

Est-il possible de changer cela?

Je veux utiliser 'FontSize', 14, pour les étiquettes x ou y.

73
sosruko

La réponse de Jonas est bonne, mais j'ai dû la modifier légèrement pour que tous un morceau de texte à l'écran change:

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

set(findall(gcf,'type','text'),'FontSize',30,'fontWeight','bold')
59
sergeyf

Si vous souhaitez modifier la taille de la police pour tout le texte d'une figure, vous pouvez utiliser findall pour rechercher toutes les poignées de texte. Ensuite, rien de plus simple:

figureHandle = gcf;
%# make all text in the figure to size 14 and bold
set(findall(figureHandle,'type','text'),'fontSize',14,'fontWeight','bold')
50
Jonas

Il est possible de changer les polices par défaut, à la fois pour les axes et pour les autres textes, en ajoutant les lignes suivantes au fichier 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)

Si vous ne savez pas si vous avez un fichier startup.m, exécutez

which startup

pour trouver son emplacement. Si Matlab dit qu'il n'y en a pas, lancez

userpath

pour savoir où il devrait être placé.

45
Alexandre Chabot

Si quelqu'un se demandait comment changer la taille des polices sans jouer avec les polices par défaut de Matlab et modifier every font in a figure, j'ai trouvé ce fil où suggère ceci:

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

findall est une commande très pratique. Dans le cas précédent, elle trouve tous les enfants possédant une propriété 'FontSize': axes lables, titres d'axes, boutons de commande, etc. .

J'espère que ça aide.

8
pm89

La réponse de Jonas ne modifie pas la taille de la police des axes. La réponse de Sergeyf ne fonctionne pas quand il y a plusieurs intrigues secondaires.

Voici une modification de leurs réponses qui fonctionne pour moi lorsque j'ai plusieurs intrigues secondaires:

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

Pour changer la taille de la police du titre, utilisez l'exemple suivant

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

pour changer la taille de la police des étiquettes des axes du graphique, procédez comme suit:

axes('FontSize',24);
5
suresh

Pour modifier la propriété par défaut de toute votre session MATLAB, voir la documentation sur comment les propriétés par défaut sont gérées .

Par exemple:

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