matlab GUI 实现按钮切换plot页面(含clear功能)

GUI 实现按钮切换plot页面(含clear功能)

hf=figure(...
    'Units','Normalized',...
    'Menu','none',...
    'Position',[0.1 0.1 0.7,0.5]);

ha=axes(...
    'Parent',hf,...
    'Units','Normalized',...
    'Position',[0.1 0.1 0.6 0.8]);

hb1=uicontrol(...
    'Style','pushbutton',...
    'Callback','try,delete(allchild(ha));end',...
    'String','clear',...
    'Units','Normalized',...
    'Position',[0.8 0.2 0.2 0.15]);

hb2=uicontrol(...
    'Style','pushbutton',...
    'Callback','plot(sin([0:0.01:10]));',...
    'String','sin',...
    'Units','Normalized',...
    'Position',[0.8 0.4 0.2 0.15]);

hb3=uicontrol(...
    'Style','pushbutton',...
    'Callback','plot(cos([0:0.01:10]));',...
    'String','cos',...
    'Units','Normalized',...
    'Position',[0.8 0.8 0.2 0.15]);

加上语句

‘NextPlot’,‘Add’,…

实现hold on的功能
即第二次点击按钮时函数图像叠加

hf=figure(...
    'Units','Normalized',...
    'Menu','none',...
    'Position',[0.1 0.1 0.7,0.5]);

ha=axes(...
    'Parent',hf,...
    'Units','Normalized',...
    'Position',[0.1 0.1 0.6 0.8],...
    'NextPlot','Add');

hb1=uicontrol(...
    'Style','pushbutton',...
    'Callback','try,delete(allchild(ha));end',...
    'String','clear',...
    'Units','Normalized',...
    'Position',[0.8 0.2 0.2 0.15]);

hb2=uicontrol(...
    'Style','pushbutton',...
    'Callback','plot(sin([0:0.01:10]));',...
    'String','sin',...
    'Units','Normalized',...
    'Position',[0.8 0.4 0.2 0.15]);

hb3=uicontrol(...
    'Style','pushbutton',...
    'Callback','plot(cos([0:0.01:10]));',...
    'String','cos',...
    'Units','Normalized',...
    'Position',[0.8 0.8 0.2 0.15]);

matlab GUI 实现按钮切换plot页面(含clear功能)_第1张图片
添加box on属性

hf=figure(...
    'Units','Normalized',...
    'Menu','none',...
    'Position',[0.1 0.1 0.7,0.5]);

ha=axes(...
    'Parent',hf,...
    'Units','Normalized',...
    'Position',[0.1 0.1 0.6 0.8],...
    'NextPlot','Add',...
    'box','on');

hb1=uicontrol(...
    'Style','pushbutton',...
    'Callback','try,delete(allchild(ha));end',...
    'String','clear',...
    'Units','Normalized',...
    'Position',[0.8 0.2 0.2 0.15]);

hb2=uicontrol(...
    'Style','pushbutton',...
    'Callback','plot(sin([0:0.01:10]));',...
    'String','sin',...
    'Units','Normalized',...
    'Position',[0.8 0.4 0.2 0.15]);

hb3=uicontrol(...
    'Style','pushbutton',...
    'Callback','plot(cos([0:0.01:10]));',...
    'String','cos',...
    'Units','Normalized',...
    'Position',[0.8 0.8 0.2 0.15]);

matlab GUI 实现按钮切换plot页面(含clear功能)_第2张图片

你可能感兴趣的:(matlab,GUI,matlab,matlab)