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?

Answers (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 Comment

isEmpytAxes = isempty(get(AxesHandle, 'Children'))
Worked fine..thank you.

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Tags

Asked:

on 23 Sep 2013

Edited:

on 26 Aug 2022

Community Treasure Hunt

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

Start Hunting!