Main Content

객체 생성 콜백 정의하기

이 예제에서는 객체 생성 콜백을 정의하는 방법을 보여줍니다.

line 객체의 LineWidth 속성 및 Marker 속성에 대한 값을 지정하는 객체 생성 콜백을 정의합니다.

function lineCreate(src,~)
   src.LineWidth = 2;
   src.Marker = 'o';
end

선의 CreateFcn 속성을 사용하여 디폴트 선 생성 콜백으로 이 함수를 할당합니다.

set(groot,'defaultLineCreateFcn',@lineCreate)

groot 함수는 그래픽스 객체 계층 구조의 루트를 지정합니다. 따라서, 불특정 MATLAB® 세션에서 생성되는 모든 선에 대해서 이 콜백이 실행됩니다. 선을 생성하는 모든 플로팅 함수가 이 디폴트를 사용합니다.

객체의 생성 콜백은 MATLAB이 객체를 생성하고 모든 해당 속성값을 설정한 직후에 실행됩니다. 따라서, 생성 콜백은 플로팅 함수에 지정되는 속성 이름/값 쌍을 재정의할 수 있습니다. 예를 들면 다음과 같습니다.

set(groot,'defaultLineCreateFcn',@lineCreate)
h = plot(1:10,'LineWidth',.5,'Marker','none')

생성 콜백은 플롯 함수 실행이 완료된 후 실행됩니다. 그 결과로 생성되는 선의 LineWidthMarker 속성값은 생성 콜백에 지정되는 값과 같습니다.

h = 

  Line  with properties:

              Color: [0 0 1]
          LineStyle: '-'
          LineWidth: 2
             Marker: 'o'
         MarkerSize: 6
    MarkerFaceColor: 'none'
              XData: [1 2 3 4 5 6 7 8 9 10]
              YData: [1 2 3 4 5 6 7 8 9 10]
              ZData: []

관련 정보

콜백 함수를 정의하는 방법에 대한 자세한 내용은 그래픽스 객체에 대한 콜백 만들기 항목을 참조하십시오.