MATLAB subplot margin

允我心安 提交于 2019-12-17 09:32:55

问题


I'm plotting 5 x 3 plots using subplot command, but there are massive margins around each subplot.

How do I control the margin size around them?

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


回答1:


The problem is that Matlab assigns the position property of each axis such that there is space around each plot. You can either adjust the position property, or you can get subaxis from the File Exchange and set up the subplots the way you like.




回答2:


Take a look at the axes's LooseInset and OuterPosition properties: http://undocumentedmatlab.com/blog/axes-looseinset-property/




回答3:


Since MATLAB R2019b you can use tiledlayout function to control the spacing of the subplots.


Here's an example which shows how to obtain subplots without tile spacing:

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';


来源:https://stackoverflow.com/questions/4410873/matlab-subplot-margin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!