1

我想删除一个绘图及其颜色条(实际上我想删除绘图中的所有内容,但接缝几乎是不可能的,请参阅使轴不可见或完全删除绘图

我这样做:

在剧情中

hplot = pcolor(xAxis, yAxis, Data2D); 
hcb = colorbar;
handles.image.hColorbar = hcb;
handles.image.hplot = hplot;
guidata(handles.output,handles); 

稍后在 gui 中:

if (isfield(handles,'image') && isfield(handles.image,'hplot'))
    if (handles.image.hplot~=0)
        delete(handles.image.hplot);
        delete(handles.image.hColorbar);
        handles.image.hplot = 0;
    end
end

它适用于无效句柄delete(handles.image.hplot)但失败handles.image.hColorbar- 为什么?

4

1 回答 1

1

这个片段在这里工作得很好......

通常,建议检查ishandle()两个对象,这样您就不必设置handles.image.hplot = 0. 由于已使句柄无效,因此在您重新为其分配新的有效句柄之前delete,它将永远不会通过检查。ishandle

如果代码没有通过ishandle()测试,则意味着它deleted已经通过了,因此无需delete再次测试。

于 2012-08-09T09:25:18.093 回答