how to eliminate the blank between subplot ?

13 visualizzazioni (ultimi 30 giorni)
what i mean is to make subplot box close to each other

Risposta accettata

Michael Haderlein
Michael Haderlein il 6 Mag 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.

Più risposte (1)

Walter Roberson
Walter Roberson il 6 Mag 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 ....]);

Community Treasure Hunt

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

Start Hunting!

Translated by