객체 생성 콜백 정의하기
이 예제에서는 객체 생성 콜백을 정의하는 방법을 보여줍니다.
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')
생성 콜백은 플롯 함수 실행이 완료된 후 실행됩니다. 그 결과로 생성되는 선의 LineWidth
및 Marker
속성값은 생성 콜백에 지정되는 값과 같습니다.
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: []
관련 정보
콜백 함수를 정의하는 방법에 대한 자세한 내용은 Create Callbacks for Graphics Objects 항목을 참조하십시오.