How to make a Subplots using set(gca,'position') command?
26 views (last 30 days)
Show older comments
MP on 1 Mar 2023
Commented: Jonas on 2 Mar 2023
I would like to make one figure, with two subplots.
The dimensions for each subplot
set(gca,'Position', [0.1000 0.5971 0.2335 0.3279]) % subplot 1
set(gca,'Position', [0.4700 0.5971 0.2335 0.3279]) % subplot 2
However, when I use this command, only the last figure axis remains, the first one disappears.
The hold on does not seem to work in this case.
Any help is greatly appriciated.
Thnak you in advance!
Jonas on 1 Mar 2023
Moved: Stephen23 on 2 Mar 2023
you could create the axes by yourself and set the positioning as you did
figure('Color',[0.9 0.9 0.9]); % create figure and use a grey background to make the figure borders better visible here
ax1=axes('Position', [0.1000 0.5971 0.2335 0.3279]) % subplot 1
ax2=axes('Position', [0.4700 0.5971 0.2335 0.3279]) % subplot 2
but most of the time, it is sufficient and more convenient to use commands like subplot:
figure('Color',[0.9 0.9 0.9]);
subplot(1,2,1) % a 1x2 grid and we now create/make active the first (left) axis
as you can see, the axes creates with subplot fill the entire figure vertically, which is most of the time the behavior one wants to have
please also note that in the first example, when creating with axes(), you have to store the axes' handles by yourself (e.g. ax1 and ax2) and in the second example, using subplot, you could (although it is not good practice) get access anytime to the axes using e.g. subplot(1,2,1) again
More Answers (0)
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!