Comment réduire les frontières autour des sous-parcelles de matlab? [dupliquer]

possibilité de dupliquer:

sous-placette de MATLAB marge

à 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

Example of wasted white space in subplots

plus de 50% de l'espace sur la figure est gaspillé comme "blanc" je voudrais rétrécir cet espace vide vers le bas, mais ont échoué à identifier un mécanisme pour le faire. Pensées?

Merci John

42
demandé sur Community 2011-07-14 00:17:48

3 réponses

la fonction subaxis de L'échange de fichiers vous permet de spécifier des marges pour les sous-lots.

exemple d'usage:

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

enter image description here

45
répondu nibot 2011-07-13 22:57:20

vous pouvez les positionner vous-même (ou programmatiquement) en utilisant

subplot('Position',[left bottom width height]);

Par défaut, les coordonnées sont normalisés. Ainsi, une position [0.1 0.1 0.5 0.5] débutera à 10% de la façon à partir du coin inférieur gauche, et aura une largeur égale à la moitié de la figure de largeur, et une hauteur égale à la moitié de la la figure de la hauteur.

voir la réponse acceptée pour une solution intégrée aux marges et au rembourrage.

6
répondu Nicolas Renold 2011-09-15 03:40:15

essayer de réduire les valeurs par défaut dans les axes cachés" propriété 151910920", comme décrit dans http://UndocumentedMatlab.com/blog/axes-looseinset-property /

par exemple:

set(gca, 'LooseInset', get(gca,'TightInset'))
5
répondu Yair Altman 2011-07-14 19:16:01