私は4つのプロットを含むmatlab guiを持っています。リストで別のファイルが選択された場合、最初のプロットが更新されます。他の 3 つは、要求があった場合にのみ表示 (および計算) されます。
ただし、一度プロットした後、プロット 2 ~ 4 を非表示にすることはできません。
私は試した
set(handles.axesImage, 'Visible', 'off');
しかし、それはプロット全体ではなく、軸のみを削除します。
編集:物を見えなくする代わりに、実際にコンテンツを削除することも可能ですか? 通常、私は を呼び出しますclose(hfig);
が、ここでは数字がありません。
私は試した
handles2hide = [axisObj;cell2mat(get(axisObj,'Children'))];
delete(handles2hide);
しかし、それはプロットされていない軸では失敗します(起動後)
編集:コードを次のように変更しました:
axisObj = handles.axesContour;
if ishandle(axisObj)
handles2delete = get(axisObj,'Children');
delete(handles2delete);
set(axisObj,'visible','off')
end
if (isfield(handles,'contour') && isfield(handles.contour,'hColorbar'))
delete(handles.contour.hColorbar);
delete(handles.contour.hColorbarLabel);
end
ただし、カラーバーは削除されhandles.contour.hColorbar
ずに失敗しますInvalid handle object.