Getting handle for subplot of saved figure

43 visualizzazioni (ultimi 30 giorni)
Amol Khalate
Amol Khalate il 6 Ago 2013
Modificato: dpb il 24 Ott 2017
Dear all,
I've a saved Matlab figure, which has several subplots. I would like to know how to get handles for different subplots after opening this figure.

Risposte (1)

dpb
dpb il 6 Ago 2013
A) If you know the number of subplots/orientation a priori, then
h=subplot(n,m,i);
will return the handle for the existing subplot at that location when gcf is the correct figure.
B) To find them not knowing the above, after hgload()
h=get(gcf,'children');
as the axes are the children of the figure; other stuff is descended from the axes object. Can always check on the above to ensure that
get(get(gcf,'children'),'type')
returns axes
  7 Commenti
Walter Roberson
Walter Roberson il 23 Ott 2017
If you had tweaked the position of the subplots at all then subplot() is probably going to destroy rather than find what you want :(
... Probably the easiest way to handle all this is to assign distinct tags to each subplot when it is created, and then to later retrieve by tag.
dpb
dpb il 23 Ott 2017
Modificato: dpb il 24 Ott 2017
True, but that ship had sailed...at worst in OP's case if the figure had been munged on after creation all that's lost is a step of reading it again and using the other alternative of retrieving all handles. A nuisance, perhaps, but since he's starting with a saved figure already, nothing is going to be lost.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by