Как проверить, очищена ли ручка осей или нет - PullRequest
0 голосов
/ 13 декабря 2018

Я хочу проверить, очищены ли некоторые оси или нет, в зависимости от того, какие дальнейшие задачи должны быть выполнены.Я использую cla для очистки некоторых осей, а не delete.Например:

figure

hs1 = subplot(121); plot(rand(100,2), 'x');

hs2 = subplot(122); plot(rand(100,2), 'o');

cla(hs1)

Тогда возникает вопрос, как определить, очищен ли hs1.

1 Ответ

0 голосов
/ 13 декабря 2018

Функция cla удаляет все дочерние объекты с видимыми маркерами по умолчанию.Поэтому вы можете проверить, очищена ли ось, посмотрев, есть ли у нее дочерние объекты , используя функцию allchild:

isCleared = isempty(allchild(hs1));

Пара замечанийимейте в виду:

  • Функция cla не очищает объекты с скрытыми ручками по умолчанию.Параметр cla(hs1, 'reset') необходим для очистки скрытых дескрипторов.

  • Функция allchild найдет все дочерние объекты независимо от их видимости дескриптора.Если вы просто хотите проверить дочерние объекты с видимыми ручками, вы можете использовать isempty(hs1.Children).

...