그래픽스 객체 삭제
그래픽스 객체를 삭제하는 방법
delete
함수를 사용하여 그래픽스 객체를 삭제합니다. 객체 핸들을 delete
에 대한 인수로 전달합니다. 예를 들어, 다음 명령문을 사용하여 현재 좌표축과 좌표축에 포함된 모든 객체를 삭제합니다.
delete(gca)
여러 객체를 삭제하려면 핸들로 구성된 배열을 delete
로 전달하십시오. 예를 들어, h1
, h2
및 h3
이 삭제하고자 하는 그래픽스 객체에 대한 핸들이라면, 핸들을 단일 배열로 결합(Concatenate)합니다.
h = [h1,h2,h3]; delete(h)
Figure를 닫으면 Figure 내에 포함된 모든 객체가 삭제됩니다. 예를 들어, 막대 그래프를 생성하십시오.
f = figure; y = rand(1,5); bar(y)
Figure에는 이제 axes 객체와 bar 객체가 포함됩니다.
ax = f.Children; b = ax.Children;
Figure를 닫습니다.
close(f)
MATLAB®은 각 객체를 삭제합니다.
f
f =
handle to deleted Figure
ax
ax =
handle to deleted Axes
b
b =
handle to deleted Bar
삭제한 객체의 핸들
그래픽스 객체를 삭제해도 MATLAB은 객체 핸들을 포함하는 변수를 삭제하지 않습니다. 그러나 참조하는 객체가 더 이상 존재하지 않기 때문에 변수는 유효하지 않은 핸들이 됩니다.
delete
함수를 명시적으로 사용하거나 그래픽스 객체를 포함하는 Figure를 닫아서 그래픽스 객체를 삭제할 수 있습니다. 예를 들어, 막대 그래프를 생성하십시오.
f = figure; y = rand(1,5); b = bar(y);
막대 그래프를 포함하는 Figure를 닫습니다.
close(f)
핸들 변수는 Figure를 닫은 후에도 여전히 존재하지만, 그래픽스 객체는 더 이상 존재하지 않게 됩니다.
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