Subplot with odd number of plots

조회 수: 125 (최근 30일)
Davide
Davide 2016년 4월 27일
댓글: Hemang Vadgama 2021년 9월 29일
I want a figure with five subplots. Here and there I have found this solution:
subplot(3,2,1), plot(...)
subplot(3,2,2), plot(...)
subplot(3,2,3), plot(...)
subplot(3,2,4), plot(...)
subplot(3,2,[5,6]), plot(...)
It does not work for me because it creates a very large plot at the bottom of the figure, while I would like to have all the five plots of the same dimension, but with the fifth one at the bottom-center of the figure. Any suggestion?

답변 (4개)

Benyamin Nemati
Benyamin Nemati 2021년 9월 26일
try this
figure
hold on
subplot(3,2,1)
subplot(3,2,2)
subplot(3,2,3)
subplot(3,2,4)
subplot(3,2,5.5)
  댓글 수: 5
Benyamin Nemati
Benyamin Nemati 2021년 9월 28일
You're welcome Amal.
Hemang Vadgama
Hemang Vadgama 2021년 9월 29일
Thanks

댓글을 달려면 로그인하십시오.


Stephen23
Stephen23 2016년 4월 27일
편집: Stephen23 2016년 4월 27일
Here is some simple code that adjusts the position without using any hardcoded values: it centers the last axes based on the positions of the first two axes (and is easy to adjust to more columns):
h(1) = subplot(3,2,1);
h(2) = subplot(3,2,2);
h(3) = subplot(3,2,3);
h(4) = subplot(3,2,4);
h(5) = subplot(3,2,5); % the last (odd) axes
pos = get(h,'Position');
new = mean(cellfun(@(v)v(1),pos(1:2)));
set(h(5),'Position',[new,pos{end}(2:end)])
and it creates this figure:
You could also experiment with adjusting the OutsidePosition axes property.
  댓글 수: 3
VIVEKANANDA HAZRA
VIVEKANANDA HAZRA 2021년 6월 15일
handle
Amal AbdelGawad
Amal AbdelGawad 2021년 9월 28일
Thank you.

댓글을 달려면 로그인하십시오.


Steven Lord
Steven Lord 2021년 3월 26일
Draw out a 3-by-4 grid of subplot axes. The first two subplots use positions 1-2 and 3-4. The next two use 5-6 and 7-8. The final one uses 10-11. I added two additional subplot axes to show you which spaces are not used.
subplot(3, 4, [1 2])
title('First')
subplot(3, 4, [3 4])
title('Second')
subplot(3, 4, [5 6])
title('Third')
subplot(3, 4, [7 8])
title('Fourth')
subplot(3, 4, [10 11])
title('Fifth')
subplot(3, 4, 9, 'Color', 'r')
title('unused')
subplot(3, 4, 12, 'Color', 'r')
title('unused')

KSSV
KSSV 2016년 4월 27일
subplot(3,2,1)
subplot(3,2,2)
subplot(3,2,3)
subplot(3,2,4)
positionVector = [0.3, 0.1, 0.3, 0.2];
subplot('Position',positionVector2)
Change positionVector accordingly......
  댓글 수: 1
Amal AbdelGawad
Amal AbdelGawad 2021년 3월 25일
Could you please tell me what do you mean by "Change positionVector accordingly"?
Because I tried your code but it didn't work.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Subplots에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by