2016-07-02 13 views
1

Ich habe mit GUIDE eine Bankfigur erstellt und ein Achsenobjekt darin abgelegt und die Figur gespeichert. Jetzt möchte ich die Figur laden und ihre Achsen als aktuelles Achsenobjekt setzen. Dies ist mein Code:Wie wird ein Achsenstrom erzeugt, der sich in einer von GUIDE erstellten Figur befindet?

close all; clear all; clc; 
fh = openfig('test.fig'); 
ah = findobj(fh, 'tag', 'axes1'); 
figure(fh); 
axes(ah); 
plot(rand(10, 1)); 

Aber plot schafft eine neue Figur und Grundstücke in it! Fehle ich etwas?

Ich weiß, dass ich es mit plot(ah, ...) lösen kann, aber ich möchte gca machen, um diese neuen Achsen zurückzugeben. Ich habe viele Zeichencodes, die ich in diesen neuen Achsen zeichnen möchte.

Antwort

1

Standardmäßig ist HandleVisibility der GUIDE-Werte so eingestellt, dass sie nicht automatisch erkannt werden. Wenn Sie beispielsweise die Figur laden und dann gcf aufrufen, erstellen Sie auch eine neue Figur.

Um das Diagramm innerhalb der Achsen platzieren zu können, können Sie die Achsen explizit als übergeordnetes Element des Befehls plot angeben.

plot(rand(10, 1), 'Parent', ah) 

Alternativ können Sie festlegen, dass die HandleVisibility der Figur 'on' ist. Und dann wird die Handlung es finden können. Dies könnte durch die getan werden, um entweder den Wert von HandleVisibility Einstellung des Eigenschaftseditor in GUIDE oder den Aufruf die set Funktion:

set(fh, 'HandleVisibility', 'on') 

ich die erste Option empfehlen als explizit die übergeordnete Angabe Achsen ist immer besser als implizit.