Main Content

그래픽스 객체 삭제

그래픽스 객체를 삭제하는 방법

delete 함수를 사용하여 그래픽스 객체를 삭제합니다. 객체 핸들을 delete에 대한 인수로 전달합니다. 예를 들어, 다음 명령문을 사용하여 현재 좌표축과 좌표축에 포함된 모든 객체를 삭제합니다.

delete(gca)

여러 객체를 삭제하려면 핸들로 구성된 배열을 delete로 전달하십시오. 예를 들어, h1, h2h3이 삭제하고자 하는 그래픽스 객체에 대한 핸들이라면, 핸들을 단일 배열로 결합(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

참고 항목

관련 항목