trying to have two figures on the same screen?

132 views (last 30 days)
Hi, I am writing a program that displays multiple plots in different figures where the user has to select what figure they want to look at. I am trying to have two of these show up split screen. How would I do this. I provided a snip of the code and the what I want t happen to the plots.show up split screen. How would I do this. I provided a snip of the code and the what I want t happen to the plots.
so Basically I would like these two figures to be displayedin figure 9 half and half

Accepted Answer

Rik
Rik on 26 Aug 2020
figure(9)
subplot(2,2,[1 3])
%your fig 7 code
subplot(2,2,2)
%fig8 sub1
subplot(2,2,4)
%fig8 sub2
  4 Comments
Austin Matuszewski
Austin Matuszewski on 26 Aug 2020
So If i am trying to add 2 more figures do i change this subplot(2,2,[1 3])?
Rik
Rik on 26 Aug 2020
You need to decide how you want to divide your figure space into tiles, then decide how much tiles you want to allocate to each axes.

Sign in to comment.

More Answers (1)

NA
NA on 26 Aug 2020
%larger figure on the right
figure;
subplot(2,2,1);
subplot(2,2,3);
subplot(2,2,[2 4]);
%larger figure on the left
figure;
subplot(2,2,2);
subplot(2,2,4);
subplot(2,2,[1 3]);
  4 Comments
Austin Matuszewski
Austin Matuszewski on 26 Aug 2020
So If i am trying to add 2 more figures do i change this subplot(2,2,[1 3])?
NA
NA on 26 Aug 2020
Consider this subplot:
figure;
subplot(2,2,1); title('plot 1');
subplot(2,2,2); title('plot 2');
subplot(2,2,3); title('plot 3');
subplot(2,2,4); title('plot 4');
It divides the Figure window into a 2x2 matrix of small axes.
When you concatenate the 1st and 3rd axes the Figure changes accordingly:
figure;
subplot(2,2,[1 3]); title('plot 1');
subplot(2,2,2); title('plot 2');
subplot(2,2,4); title('plot 4');
If you want to add more plots to your subplot, you need to increase the 'm' and/or 'n' value.
subplot(m,n,p)
%m = number of rows
%n = number of columns
%p = position of current plot
For instance, if you want to create a subplot of 6 plots total, you can do this by increasing the number of rows (m) or the number of columns (n).
%increase number of rows
figure;
subplot(3,2,1); title('plot 1');
subplot(3,2,2); title('plot 2');
subplot(3,2,3); title('plot 3');
subplot(3,2,4); title('plot 4');
subplot(3,2,5); title('plot 5');
subplot(3,2,6); title('plot 6');
%increase number of columns
figure;
subplot(2,3,1); title('plot 1');
subplot(2,3,2); title('plot 2');
subplot(2,3,3); title('plot 3');
subplot(2,3,4); title('plot 4');
subplot(2,3,5); title('plot 5');
subplot(2,3,6); title('plot 6');
You can also concatenate the matrix axes to suit your needs; example:
figure;
subplot(2,3,1); title('plot 1');
subplot(2,3,[2 5]); title('plot 2'); %concatentate 2nd and 5th axes
subplot(2,3,[3 6]); title('plot 3'); %concatentate 3rd and 6th axes
subplot(2,3,4); title('plot 4');

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!