Duplicata possible:
marge de sous-tracé MATLAB
Dans matlab, une quantité démesurée d'espace est gaspillée autour des sous-parcelles. Par exemple, dans cet exemple:
t = 0:0.001:2*pi+0.001;
figure(2);
for i = 1 : 25;
subplot(5,5,i);
plot(t, sin(i*t));
axis off
end
plus de 50% de l'espace sur la figure est gaspillé comme "vide". Je voudrais réduire cet espace vide, mais je n'ai pas réussi à identifier un mécanisme pour le faire. Pensées?
Merci John
La fonction subaxis
sur l'échange de fichiers vous permet de spécifier des marges pour les sous-tracés.
Exemple d'utilisation:
t = 0:0.001:2*pi+0.001;
figure(2);
for i = 1 : 25;
subaxis(5,5,i, 'Spacing', 0.03, 'Padding', 0, 'Margin', 0);
plot(t, sin(i*t));
axis tight
axis off
end
Vous pouvez les positionner vous-même (ou par programme) en utilisant
subplot('Position',[left bottom width height]);
Par défaut, les coordonnées sont normalisées. Ainsi, une position de [0,1 0,1 0,5 0,5] commencera à 10% du chemin depuis le coin inférieur gauche et aura une largeur égale à la moitié de la largeur du chiffre et une hauteur égale à la moitié de la hauteur du chiffre.
Voir la réponse acceptée pour une solution intégrée aux marges et au remplissage.
Essayez de réduire les valeurs par défaut dans la propriété des axes masqués LooseInsets
, comme décrit dans http://UndocumentedMatlab.com/blog/axes-looseinset-property/
Par exemple:
set(gca, 'LooseInset', get(gca,'TightInset'))