63 votes

Comment puis-je obtenir les poignées de toutes les figures dans MATLAB

J'ai neuf ouvert chiffres dans matlab (généré par une autre fonction) et je veux les imprimer tous de fichier. Personne ne sait comment attraper les poignées de toutes les figures dans MATLAB?

Je sais à propos de gcf , mais il ne semble pas faire ce que je veux.

81voto

gnovice Points 70970

Il ya quelques façons de le faire. Une façon de faire cela est d'obtenir tous les enfants de la racine de l'objet:

figHandles = get(0,'Children');

Ou vous pouvez utiliser la fonction FINDOBJ:

figHandles = findobj('Type','figure');

Si les chiffres ont caché des poignées, vous pouvez utiliser à la place la fonction FINDALL:

figHandles = findall(0,'Type','figure');

18voto

MatlabDoug Points 4587

Une des meilleures choses à faire est de ne PAS avoir besoin de regarder pour les poignées. Lorsque vous créez chaque figure, la capture de sa poignée.

h(1) = figure;
h(2) = figure;
...

En tant que l'un des développeurs ici, m'a dit:

Ils sont appelés poignées, parce que vous êtes supposé avoir

11voto

Chris Points 966

Je pense que findall devrait fonctionner

handles=findall(0,'type','figure')

6voto

Adiel Points 795

Vous avez obtenir de beaux réponses pour les poignées de masse. Mais une autre astuce pour la question d'origine: imprimer toutes les données dans un fichier: vous pouvez utiliser publish option, sans traiter figrues ou les poignées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X