Как получить ручки всех открытых фигур в Matlab
-
13-10-2019 - |
Вопрос
У меня есть девять открытых фигур в MATLAB (сгенерировано другой функцией), и я хочу распечатать их все в файл. Кто -нибудь знает, как схватить ручки всех открытых фигур в Matlab?
Я знаю о gcf
Но, похоже, это не делает то, что я хочу.
Решение
Есть несколько способов сделать это. Один из способов сделать это - получить всех детей корневой объект (представлен в предыдущих версиях ручкой 0
):
figHandles = get(groot, 'Children'); % Since version R2014b
figHandles = get(0, 'Children'); % Earlier versions
Или вы можете использовать функцию findobj
:
figHandles = findobj('Type', 'figure');
Если кто -либо из фигур Скрытые ручки, вместо этого вы можете использовать функцию findall
:
figHandles = findall(groot, 'Type', 'figure'); % Since version R2014b
figHandles = findall(0, 'Type', 'figure'); % Earlier versions
Другие советы
Одна из лучших вещей, чтобы не нужно искать ручки. Когда вы создаете каждую фигуру, поймайте его ручку.
h(1) = figure;
h(2) = figure;
...
Как сказал мне один из разработчиков:
Их называют ручками, потому что вы должны держаться за них
Я думаю найти все должно сработать
handles=findall(0,'type','figure')
У вас есть прекрасные ответы на ручки массы. Но еще один совет для исходного вопроса- распечатайте все цифры для файла: вы можете использовать publish
Вариант, не имея никакого отношения к фигуру или ручкам.