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?

回答 (1 件)

Jan
Jan 2013 年 9 月 23 日
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 件のコメント

Ahmed Ali
Ahmed Ali 2022 年 8 月 26 日
編集済み: Ahmed Ali 2022 年 8 月 26 日
isEmpytAxes = isempty(get(AxesHandle, 'Children'))
Worked fine..thank you.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

タグ

質問済み:

2013 年 9 月 23 日

編集済み:

2022 年 8 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by