how to eliminate the blank between subplot ?
22 views (last 30 days)
Show older comments
what i mean is to make subplot box close to each other
0 Comments
Accepted Answer
Michael Haderlein
on 6 May 2015
Use the set command and the position property. Here is one example with zero spacing between the 2x2 axes and a 0.1 frame around them:
figure, subplot(2,2,1),plot(rand(3)),set(gca,'xtick',[],'ytick',[])
subplot(2,2,2),plot(rand(3)),set(gca,'xtick',[],'ytick',[])
subplot(2,2,3),plot(rand(3)),set(gca,'xtick',[],'ytick',[])
subplot(2,2,4),plot(rand(3)),set(gca,'xtick',[],'ytick',[])
ha=get(gcf,'children');
set(ha(1),'position',[.5 .1 .4 .4])
set(ha(2),'position',[.1 .1 .4 .4])
set(ha(3),'position',[.5 .5 .4 .4])
set(ha(4),'position',[.1 .5 .4 .4])
Instead of getting the axes handles as figure children, you could also save them during creation as subplot.
More Answers (1)
Walter Roberson
on 6 May 2015
create all subplots first before trying to move them around. If you try to move them around before they are all created, chances are good that you will accidentally end up with subplot() deleting some of the subplots.
Once all the subplots are created, set() the Position property of their handles. For example,
for K = 1 : 6
h(K) = subplot(1,6,K);
end
set(h(2), 'Position', [.... some new location ....]);
See Also
Categories
Find more on Subplots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!