trying to have two figures on the same screen?
Ältere Kommentare anzeigen
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 halfAkzeptierte Antwort
Weitere Antworten (1)
NA
am 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 Kommentare
Austin Matuszewski
am 26 Aug. 2020
A subplot creates axes in tiled positions.
subplot(m,n,p)
%m = number of rows
%n = number of columns
%p = position of current plot
So in your case, whe you create a subplot(2,2,p) - this simply means the subplot has an overall 'matrix' of 2 rows and 2 columns; the 'p' indicates the position of the current plot within this 'matrix' (counting along the top row, then the second row etc).
In short, the indexes change depending on the size of the subplot, and the positioning of the plots.
Hope that makes sense.
Austin Matuszewski
am 26 Aug. 2020
NA
am 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');
Kategorien
Mehr zu Subplots finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!