Clear axes in GUI using cla reset does not work for secondary axes?
Afficher commentaires plus anciens
Hi all,
I am having some trouble clearing an axes using the reset command below:
cla reset
I have created an axes with a secondary axis through the following command (the variables F, S, L and D are arrays):
set(get(handles.ax1, 'Parent'), 'HandleVisibility', 'on'); %set handle visibility to on
axes(handles.ax1); %make ax1 the current axis
x1 = F;
y1 = S;
y2 = L;
y3 = D;
hl1 = line(x1,y1,'Color','r'); %plot a line in the current axis
hl2 = line(x1,y2,'Color','g');
handles.ax2 = axes('Units', 'character'); %create a new axis and set units to be character
set(handles.ax2, 'Position',get(handles.ax1,'Position'),...
'YAxisLocation','right',...
'Color','none',...
'YColor','k'); %position the new axis on the earlier existing axis
hl3 = line(x1,y3,'Color','b','Parent',handles.ax2); %plot a line on the new axis
However, when I use the "cla reset" command, it does not reset the secondary axis I created, nor the data from the secondary axis.
How can I fix this?
Réponse acceptée
Plus de réponses (3)
Ilham Hardy
le 30 Déc 2014
What if,
set(get(handles.ax1, 'Parent'), 'HandleVisibility', 'on'); %set handle visibility to on
axes(handles.ax1); %make ax1 the current axis
cla(handles.ax1,'reset');
set(get(handles.ax2, 'Parent'), 'HandleVisibility', 'on'); %set handle visibility to on
axes(handles.ax2); %make ax1 the current axis
cla(handles.ax2,'reset');
1 commentaire
Maarten
le 30 Déc 2014
Sean de Wolski
le 30 Déc 2014
delete(allchild(handles.axes1))
Vince Wong
le 7 Oct 2021
%yyaxis(handles, 'right')
cla(handles)
yyaxis(handles, 'left')
cla(handles)
Catégories
En savoir plus sur Interactive Control and Callbacks dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!