Вопрос

У меня есть девять открытых фигур в 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 Вариант, не имея никакого отношения к фигуру или ручкам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top