Domanda

Ho nove figure aperte in MATLAB (generato da un'altra funzione) e voglio a tutti loro stampa su file. Qualcuno sa come per afferrare le maniglie di tutte le figure aperti in MATLAB?

so di gcf ma non sembra fare quello che voglio.

È stato utile?

Soluzione

Ci sono alcuni modi per farlo. Un modo per farlo è quello di ottenere tutti i bambini del radice oggetto (rappresentato in versioni precedenti dal 0 maniglia):

figHandles = get(groot, 'Children');  % Since version R2014b
figHandles = get(0, 'Children');      % Earlier versions

In alternativa è possibile utilizzare la funzione findobj :

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

Se una delle figure hanno maniglie nascoste , è possibile utilizzare invece la funzione findall :

figHandles = findall(groot, 'Type', 'figure');  % Since version R2014b
figHandles = findall(0, 'Type', 'figure');      % Earlier versions

Altri suggerimenti

Una delle cose migliori da fare è quello di non necessità di cercare le maniglie. Quando si creano ogni figura, catturare il manico.

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

Come uno degli sviluppatori qui mi ha detto:

Si chiamano maniglie, perché si suppone di tenere su di loro

findall dovrebbe funzionare

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

Non hai ottenere risposte fine per la messa maniglie. Ma un altro suggerimento per l'originale Question- stampare tutte le figure in un file: è possibile utilizzare publish opzione, senza affrontare figrues o maniglie.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top