Verfasst am: 08.10.2012, 12:30
Titel: patch in axes überschreiben
Hallo liebe Wissenden...
ich plotte in meiner GUI eine Zeitreihe und wähle über einen Cursor einen geeigneten Startpunkt für die spätere Auswertung aus. Über ein edit-Textfeld gebe ich eine gewünschte Zeitspanne ein und lasse mir mittels eines patches den "Rahmen" meines gewählten Zeitabschnittes anzeigen. Falls nun im plot ersichtlich wird, dass meine Zeit zu groß bzw. zu klein ist, gebe ich eine neue Zeitspanne ein und der plot soll angepasst werden. Mein Problem ist jetzt, dass das alte patch im plot bleibt und nicht gelöscht und überschreiben wird. hier der codeauszug
Code:
function zeitspanne_Callback(hObject, eventdata, handles) % hObject handle to zeitspanne (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of zeitspanne as text % str2double(get(hObject,'String')) returns contents of zeitspanne as a double
handles = guidata(hObject);
x = handles.x;
y = handles.y;
cursorpos = handles.cursorpos;
zeit = str2double(get(hObject,'string')); %Eingabe der gewünschten Zeitspanne und Umwandlung in Double
delete(findobj(gca,'type','patch')) % wahrscheinlich ist die axes in der handles struktur gespeichert, dann % würde ich diese nehmen, es kann ja passieren, dass du mehr als eine % axes in deiner GUI hast, also z.b. handles.axes1 % also etwas wie: delete(findobj(handles.axes1,'type','patch'))
wow, vielen dank für die blitzschnelle antwort und die lösung meines problems!
ja die ein oder andere zeile macht wohl nicht so viel sinn... bin erst seit ein paar monaten am programmieren und da macht man wohl noch die ein oder andere überflüssige sache. das finobj (gca) is noch aus nem anderen test einfach mit übergebleiben und nicht gelöscht wurden und fiel mir gar nicht weiter auf, weils ja von der funktion her nicht ins gewicht gefallen ist...
also doppletes danke!
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.