findobj to refresh lines in a graph
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Daniel Shub
le 19 Oct 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 commentaires
Daniel Shub
le 19 Oct 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.
Plus de réponses (1)
Olaf
le 19 Oct 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 commentaires
Voir également
Catégories
En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!