findobj to refresh lines in a graph
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello, I am working in a GUI and I want to add a new plot in a figure (axis) represented before.
The problem is that can not find the way to delete last function plotted for repeat the action but dont "hold on" the plots
Code for the button:
function pushbutton10_Callback(hObject, eventdata, handles)
axes(handles.axes2) %active the figure
pos=getappdata(0,'cursorposition'); %this works!
%plot lines
line1 = hline(pos(1)); this works too!
line2 = vline(pos(2));
guidata(hObject, handles);
If I click again I need to use findobj to localize line1 and line2 and delete it if they exist. Ive tried using findobj('type','line') but I couldnt find.
this psuedo code it has to be before plot:
if line1 or line2 exist then
delete(line1)
delete(line2)
end
maybe it is easier if I create a handle for this ?
thanks!
0 Commenti
Risposta accettata
Daniel Shub
il 19 Ott 2011
Yes, it is easier if you create a handle ...
if isfield(handles, 'line1') && ishandle(handles.line1)
delete(handles.line1)
end
if isfield(handles, 'line2') && ishandle(handles.line2)
delete(handles.line2)
end
handles.line1 = hline(pos(1)); this works too!
handles.line2 = vline(pos(2));
3 Commenti
Daniel Shub
il 19 Ott 2011
I don't quite understand your problem. I am guessing somehow the gui is being saved so handles has the field line1, but that line1 does nto exist. I have edited the answer to include ishandle(handles.line1). This should hopefully fix it.
Più risposte (1)
Olaf
il 19 Ott 2011
Hi A possible solution might be to use Matlab graphic handles property called 'Tag'. By default it is empty and upon creation of your lines you can assign each of your lines a unique tag, e.g. set(line1, 'Tag', 'myUniqueHLineTag'); Then, when you want to test the existence of any of these lines, you can search through the handles obtained by findobj for this tag.
Olaf
0 Commenti
Vedere anche
Categorie
Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!