Удалите графические объекты с функцией delete
. Передайте указатель на объект в качестве аргумента к delete
. Например, удалите текущую систему координат и все объекты, содержавшиеся в осях, с оператором.
delete(gca)
Если вы хотите удалить несколько объектов, передайте массив указателей на delete
. Например, если h1
, h2
и h3
являются указателями на графические объекты, что вы хотите удалить, конкатенировать указатели в единый массив.
h = [h1,h2,h3]; delete(h)
Закрытие фигуры удаляет все объекты, содержавшиеся в фигуре. Например, создайте гистограмму.
f = figure; y = rand(1,5); bar(y)
Фигура теперь содержит объекты панели и оси.
ax = f.Children; b = ax.Children;
Закройте фигуру:
close(f)
MATLAB® удаляет каждый объект.
f
f =
handle to deleted Figure
ax
ax =
handle to deleted Axes
b
b =
handle to deleted Bar
Когда вы удаляете графический объект, MATLAB не удаляет переменную, которая содержит указатель на объект. Однако переменная становится недопустимым указателем, потому что объект, который она не упоминала больше, существует.
Можно удалить графические объекты явным образом с помощью функции delete
или путем закрытия фигуры, которая содержит графические объекты. Например, создайте гистограмму.
f = figure; y = rand(1,5); b = bar(y);
Закройте фигуру, содержащую гистограмму.
close(f)
Переменные указателя все еще существуют после закрытия фигуры, но графические объекты больше не существуют.
whos
Name Size Bytes Class f 1x1 104 matlab.ui.Figure b 1x1 104 matlab.graphics.chart.primitive.Bar y 1x5 40 double
Используйте isgraphics
, чтобы определить законность указателя графического объекта.
isgraphics(b)
ans = 0
Вы не можете получить доступ к свойствам с недопустимой переменной указателя.
h.FaceColor
Invalid or deleted object.
Чтобы удалить переменную, используйте функцию clear
.
clear h