Ich mache eine GUI-Anwendung in Matlab mit GUIDE. Ich habe Achsen, auf denen ich einige Punkte auf einen Druckknopf klicke. Jetzt möchte ich animierte Linie verwenden, um Linien auf denselben Achsen zu zeichnen. Die Datenpunkte, die der animierten Zeile hinzugefügt werden sollen, stammen von einem Ereignis. Also muss ich Datenpunkte in einem Ereignis-Listener hinzufügen. Ich möchte wissen, wie ich das tun kann, weil dieser Event-Listener keinen Zugriff auf die animierte Zeile hat. Folgendes ist der Code bisher.Wie fügt man Datenpunkte in einer animierten Zeile in Matlab gui durch einen Ereignis-Listener hinzu?
Diese Funktion wird aufgerufen, wenn der Druckknopf clicked- ist
function startButton_Callback(~, ~, handles)
x = randi(100, 20);
y = randi(100, 20);
plot(x, y, 'o');
la = newClass;
addlistener(la,'statusAnnouncement',@StatusListener);
Dies ist die Funktion auf Ereignis
function StatusListener(obj, eventData)
h = animatedline;
addpoints(h,eventData.coordinate(1),eventData.coordinate(2));
drawnow
Punkte aufgetragen Grundstück mit aufgerufen wird nur gezeigt werden. Wie zeige ich die animierte Linie? Ich bekomme auch keinen Fehler im Befehlsfenster.
Thank you very much. Das hat mein Problem gelöst. Ich habe jedoch eine Frage, in der 4. Weise, was 'gcbf' in' setappdata' ist. Ist es in allen Funktionen global verfügbar? –
@PratikSinghal ['gcbf'] (http://www.mathworks.com/help/matlab/ref/gcbf.html) ist das Handle zu der Figur, die das Objekt enthält, dessen Callback ausgelöst wurde. Es ist ähnlich wie "GCF", aber robuster. Es ist jedoch nur gültig, wenn Sie auf einen Rückruf antworten. – Suever