Come faccio ad avere le maniglie di tutte le figure aperte in MATLAB
-
13-10-2019 - |
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.
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.