Effacer les filtres
Effacer les filtres

How to change the size and position of subplots after defining axis handles

2 vues (au cours des 30 derniers jours)
I have a figure with eight subplots, e.g.
a = subplot(4,2,1);
In each subplot, I define the main and an underlying axis to control xticklabels, more precisely to place labels between ticks (see https://se.mathworks.com/matlabcentral/answers/593956-how-to-write-in-the-middle-of-ticks ).
% Create main axis and an underlying axis to control xticklabels.
axUnder = cla(); % Underlying axis handle
ax = copyobj(axUnder, ancestor(axUnder,'figure')); % main axis handle.
Each subplot has a line plot with datetime values on the x axis:
plot(ax,x,y);
At the end of the code, I have a section specifying the size and position of subplots, e.g.
set(a, 'Position', [0.1 0.85 0.45 0.18]);
Because of introducing the 'ax' handle earlier in the code, this section no longer works - MATLAB moves and resizes blank axes instead of my plots. Does any of you know how I can specify which axes I want to move/resize? Thank you in advance!
  4 commentaires
Adam Danz
Adam Danz le 14 Mar 2022
What is 'a' in the last block of code in your question? I see where you're defining ax and axUnder but what is 'a'?
Corymbiamaculata
Corymbiamaculata le 15 Mar 2022
See the first two lines of my post :)
Anyway, Jan has already answered my question - but in a comment, so I'm not sure how I can accept it to close the thread.

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 15 Mar 2022
[Copied from the comments]
subplot is a wrapper for an axes command defining a specific position. If you change the position later, calling subplot is a waste of time. Just call axes() directly and define the wanted position directly.

Plus de réponses (0)

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by