Удалите графические объекты с 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