Frage

Ich bin Plotten 5 x 3 Plots subplot Befehl, aber es gibt massive Ränder um jede subplot.

Wie steuere ich die Randgröße um sich herum?

figure;
for c=1:15
    subplot(5,3,c); 
    imagesc(reshape(image(:,c), 360,480)); 
    colormap gray; 
    axis image;
end

alt text

War es hilfreich?

Lösung

Das Problem ist, dass Matlab die position Eigenschaft jeder Achse zugewiesen, so dass es Raum um jede Parzelle ist. Sie können entweder die position Eigenschaft einstellen, oder Sie können get Unterachse aus dem File Exchange und einrichten die Handlungsstränge, wie Sie möchten.

Andere Tipps

Werfen Sie einen Blick auf die Achsen LooseInset und OuterPosition Eigenschaften: http://undocumentedmatlab.com/blog/axes-looseinset-property/

Da MATLAB R2019b können Sie verwenden tiledlayout Funktion der steuern Abstand der Nebenhandlungen.


Hier ist ein Beispiel, das zeigt, wie Nebenhandlungen zu erhalten, ohne Fliesenabstand:

figure
example_image = imread('cameraman.tif');
t = tiledlayout(5,3);
nexttile

for c= 1:15
    imagesc(example_image(:,c))
    if c < 15
        nexttile
    end
end

t.TileSpacing = 'None';
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top