MATLAB GUI - How can I get programmatically whether an 'axis' object is empty or not?

I have a MATLAB GUI, in which there is a figure (an 'axis' object). I would like to know programmatically whether there is or not a plot in that figure/axis, because I would like to add an 'axis limit' control. The code would be:
if figure_is_empty
axis([xMin xMax yMin yMax])
else
don't do anything, because there is nothing to 'resize'
end
Any suggestion?

Réponses (1)

The objects are called "axes" with "e".
If an axes contains any object, you find it in the list of its children:
isEmpytAxes = isempty(get(AxesHandle, 'Children'))
How the AxesHandle can be obtained depends on the details of your program.
The emptiness of a figure is something else: It means that the figure does not contain axes objects, buttons, menus etc. Notice that children can be hidden also, then allchild is useful:
allchild(gcf)

1 commentaire

Ahmed Ali
Ahmed Ali le 26 Août 2022
Modifié(e) : Ahmed Ali le 26 Août 2022
isEmpytAxes = isempty(get(AxesHandle, 'Children'))
Worked fine..thank you.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Centre d'aide et File Exchange

Tags

Question posée :

le 23 Sep 2013

Modifié(e) :

le 26 Août 2022

Community Treasure Hunt

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

Start Hunting!

Translated by