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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top