Wie bekomme ich die Griffe aller offenen Figuren in Matlab?
-
13-10-2019 - |
Frage
Ich habe neun offene Figuren in Matlab (von einer anderen Funktion generiert) und möchte sie alle für eine Datei drucken. Weiß jemand, wie man die Griffe aller offenen Figuren in Matlab schnappt?
ich weiss Bescheid gcf
Aber es scheint nicht zu tun, was ich will.
Lösung
Es gibt ein paar Möglichkeiten, dies zu tun. Eine Möglichkeit, dies zu tun, besteht darin, alle Kinder der Kinder zu bekommen Wurzelobjekt (in früheren Versionen durch den Griff dargestellt 0
):
figHandles = get(groot, 'Children'); % Since version R2014b
figHandles = get(0, 'Children'); % Earlier versions
Oder Sie können die Funktion verwenden findobj
:
figHandles = findobj('Type', 'figure');
Wenn eine der Zahlen hat Versteckte Griffe, Sie können stattdessen die Funktion verwenden findall
:
figHandles = findall(groot, 'Type', 'figure'); % Since version R2014b
figHandles = findall(0, 'Type', 'figure'); % Earlier versions
Andere Tipps
Eines der besten Dinge, die Sie tun können, ist, nicht nach den Griffen zu suchen. Wenn Sie jede Figur erstellen, erfassen Sie ihren Griff.
h(1) = figure;
h(2) = figure;
...
Wie einer der Entwickler hier mir sagte:
Sie werden Griffe genannt, weil Sie sich an ihnen festhalten sollen
Ich finde finde alle sollte arbeiten
handles=findall(0,'type','figure')
Sie erhalten gute Antworten für die Masse der Griffe. Aber ein weiterer Tipp für die ursprüngliche Frage- drucken Sie alle zu Dateien ausdrucken: Sie können verwenden publish
Option, ohne mit Figuren oder Griffen umzugehen.