How to decrease the gap between figures in subplot

4 views (last 30 days)
Hi,
I am displaying 8 images using subplot (2,4,I), but there is enough margin between images which results in small picture size . How can i decrease the margin between pictures?
Thanks.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 25 Dec 2012
Edited: Azzi Abdelmalek on 25 Dec 2012
tailx=0.2
taily=0.4
marg=0.05
y1=0.55
y2=0.1
x0=0.02
v=zeros(8,4)
v(1,:)=[x0 y1 tailx taily]
for k=2:4
v(k,1)=v(k-1,1)+tailx+marg
end
v(:,2)=y1
v(:,3)=tailx
v(:,4)=taily
v(5:8,:)=v(1:4,:);
v(5:8,2)=y2
for k=1:8
subplot(2,4,k),h=plot(t,y);
set(gca,'position',v(k,:))
end
  2 Comments
Walter Roberson
Walter Roberson on 25 Dec 2012
Be careful: if you subplot() on top of a location that already has an axes at all, then the existing axes will be removed.
Gunjan Rateria
Gunjan Rateria on 11 Jun 2020
Thanks Azzi! Your code worked like a charm for me after playing around with some numbers. Can you explain a little bit about the terms you have used and how this can be modified if I have say 10 subplots(2,5). Really appreciate your help :)

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 25 Dec 2012
Set the position property of each subplot. Something like (untested)
h = subplot(2,2,1);
set(h, 'Position', [.1 .9 .4 .4]);
or something like that.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!