Удаление графических объектов с помощью 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 Axesb
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