이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

Transform 속성

Transform 객체 모양과 동작

Transform 객체의 속성은 Transform 객체의 동작을 제어합니다. 속성값을 변경하여 Transform 객체의 특성을 수정할 수 있습니다.

R2014b부터는 점 표기법을 사용하여 속성을 쿼리하고 설정할 수 있습니다.

h = hgtransform;
c = h.Children;
h.Matrix = makehgtform('scale',0.5);

이전 릴리스를 사용 중인 경우에는 get 함수와 set 함수를 대신 사용하십시오.

변환 행렬

모두 확장

transform 객체와 해당 하위(자식)에 적용되는 변환 행렬로, 4x4 행렬로 지정됩니다. 이 행렬을 정의하는 방법에 대한 자세한 내용은 hgtransform으로 지원되는 변환 항목을 참조하십시오.

데이터형: double

legend 객체

모두 확장

범례 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 범례는 legend 명령을 호출할 때까지 표시되지 않습니다. 텍스트를 지정하지 않으면 legend'dataN' 형식을 사용하여 레이블을 설정합니다.

이 속성은 읽기 전용입니다.

범례에 객체를 포함시키거나 제외시킬 수 있는 컨트롤로, Annotation 객체로 반환됩니다. 기본 IconDisplayStyle 속성을 다음 값 중 하나로 설정하십시오.

  • 'on' — 객체를 범례에 포함시킵니다.

  • 'off' — 객체를 범례에 포함시키지 않습니다(디폴트 값).

  • 'children' — 객체의 하위(자식)만 별도의 항목으로 범례에 포함시킵니다.

상호 작용

모두 확장

가시성으로, 다음 값 중 하나로 지정됩니다.

  • 'on'Transform 객체의 모든 객체를 표시합니다.

  • 'off'Transform 객체의 모든 객체를 숨깁니다. 보이지 않는 Transform 객체의 속성에 계속 액세스할 수 있습니다. Transform 객체의 Visible 속성을 설정해도 Transform 객체 내에 있는 객체의 Visible 속성은 변경되지 않습니다.

상황별 메뉴로, ContextMenu 객체로 지정됩니다. 객체를 마우스 오른쪽 버튼으로 클릭할 때 상황별 메뉴를 표시하려면 이 속성을 사용하십시오. uicontextmenu 함수를 사용하여 상황별 메뉴를 만듭니다.

참고

PickableParts 속성이 'none'으로 설정되어 있거나 HitTest 속성이 'off'로 설정되어 있으면 상황별 메뉴가 나타나지 않습니다.

선택 상태로, 다음 값 중 하나로 지정됩니다.

  • 'on' — 선택된 상태. 플롯 편집 모드에서 객체를 클릭하면 MATLAB®이 이 객체의 Selected 속성을 'on'으로 설정합니다. SelectionHighlight 속성도 'on'으로 설정된 경우 MATLAB은 객체 둘레에 선택 핸들을 표시합니다.

  • 'off' — 선택되지 않은 상태.

선택되었을 때 선택 핸들의 표시 여부로, 다음 값 중 하나로 지정됩니다.

  • 'on'Selected 속성이 'on'으로 설정되어 있으면 선택 핸들을 표시합니다.

  • 'off'Selected 속성이 'on'으로 설정되어 있어도 선택 핸들을 표시하지 않습니다.

콜백

모두 확장

마우스 클릭 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

  • 함수 핸들과 추가 인수가 포함된 셀형 배열

  • 기본 작업 공간에서 실행되는 유효한 MATLAB 명령이나 함수인 문자형 벡터(권장되지 않음)

객체를 클릭할 때 코드를 실행하려면 이 속성을 사용하십시오. 함수 핸들을 사용하여 이 속성을 지정하면 콜백을 실행할 때 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • 클릭된 객체 — 콜백 함수 내에서 클릭된 객체의 속성에 액세스합니다.

  • 이벤트 데이터 — 빈 인수입니다. 함수 정의에서 이 인수를 물결표 문자(~)로 바꿔서 이 인수가 사용되지 않음을 나타낼 수 있습니다.

함수 핸들을 사용하여 콜백 함수를 정의하는 방법에 대한 자세한 내용은 콜백 정의 항목을 참조하십시오.

참고

PickableParts 속성이 'none'으로 설정되어 있거나 HitTest 속성이 'off'로 설정되어 있으면 이 콜백이 실행되지 않습니다.

객체 생성 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

  • 첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.

  • 유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.

콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 정의 항목을 참조하십시오.

이 속성은 MATLAB이 객체를 생성할 때 실행할 콜백 함수를 지정합니다. MATLAB은 CreateFcn 콜백을 실행하기 전에 모든 속성값을 초기화합니다. CreateFcn 속성을 지정하지 않으면 MATLAB은 디폴트 생성 함수를 실행합니다.

기존 구성요소에 대해서는 CreateFcn 속성을 설정해도 아무 효과가 없습니다.

이 속성을 함수 핸들 또는 셀형 배열로 지정하면 생성 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo 함수를 사용하여 객체에 액세스하십시오.

객체 삭제 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

  • 첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.

  • 유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.

콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 정의 항목을 참조하십시오.

이 속성은 MATLAB에서 객체를 삭제할 때 실행할 콜백 함수를 지정합니다. MATLAB은 객체의 속성을 파괴하기 전에 DeleteFcn 콜백을 실행합니다. DeleteFcn 속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.

이 속성을 함수 핸들 또는 셀형 배열로 지정하면 삭제 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo 함수를 사용하여 객체에 액세스하십시오.

콜백 실행 컨트롤

모두 확장

콜백 중단으로, 'on'이나 'off'로 지정됩니다. Interruptible 속성은 실행중 콜백을 중단할 수 있는지 여부를 지정합니다.

고려할 콜백 상태에는 다음 두 가지가 있습니다.

  • 실행중 콜백은 현재 실행되고 있는 콜백입니다.

  • 인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.

MATLAB이 콜백을 불러올 때마다 불러들여진 콜백은 실행중 콜백(있는 경우)을 중단하려고 시도합니다. 실행중 콜백을 소유한 객체의 Interruptible 속성은 중단이 허용되는지 여부를 지정합니다. Interruptible 속성에는 다음 두 가지 값을 사용할 수 있습니다.

  • 'on' — 다른 콜백이 이 객체의 콜백을 중단할 수 있습니다. MATLAB이 대기열을 처리하는 다음 지점에서(예: drawnow, figure, uifigure, getframe, waitfor 또는 pause 명령이 있을 때) 중단이 발생합니다.

    • 실행중 콜백에 이러한 명령 중 하나가 포함되어 있으면 MATLAB은 이 지점에서 콜백 실행을 중지하고 인터럽트 콜백을 실행합니다. 인터럽트 콜백이 완료되면 MATLAB은 실행중 콜백의 실행을 재개합니다.

    • 실행중 콜백에 이러한 명령 중 하나가 포함되어 있지 않으면 MATLAB은 중단 없이 콜백 실행을 마칩니다.

  • 'off' — 모든 중단 시도를 차단합니다. 인터럽트 콜백을 소유한 객체의 BusyAction 속성은 인터럽트 콜백을 삭제할지 아니면 대기열에 넣을지를 지정합니다.

참고

콜백 중단과 실행은 다음 상황에서 다르게 동작합니다.

  • 인터럽트 콜백이 DeleteFcn, CloseRequestFcn, SizeChangedFcn 콜백 중 하나이면 Interruptible 속성값에 관계없이 중단이 발생합니다.

  • 실행중 콜백이 현재 waitfor 함수를 실행 중이면 Interruptible 속성값에 관계없이 중단이 발생합니다.

  • Timer 객체는 Interruptible 속성값에 관계없이 예약된 대로 실행됩니다.

중단이 발생하면 MATLAB은 디스플레이 또는 속성의 상태를 저장하지 않습니다. 예를 들어, 다른 콜백이 실행될 때 gca 또는 gcf 명령이 반환하는 객체가 변경될 수도 있습니다.

콜백 대기로, 'queue''cancel'로 지정됩니다. BusyAction 속성은 MATLAB이 인터럽트 콜백의 실행을 처리하는 방법을 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.

  • 실행중 콜백은 현재 실행되고 있는 콜백입니다.

  • 인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.

MATLAB이 콜백을 불러올 때마다 콜백은 실행중 콜백을 중단하려고 시도합니다. 실행중 콜백을 소유한 객체의 Interruptible 속성은 중단이 허용되는지 여부를 지정합니다. 중단이 허용되지 않는 경우 인터럽트 콜백을 소유한 객체의 BusyAction 속성은 콜백을 삭제할지 아니면 대기열에 넣을지 여부를 지정합니다. BusyAction 속성의 가능한 값은 다음과 같습니다.

  • 'queue' — 실행중 콜백이 실행을 마치고 나면 인터럽트 콜백이 처리되도록 대기열에 넣습니다.

  • 'cancel' — 인터럽트 콜백을 실행하지 않습니다.

마우스 클릭을 캡처할 수 있는 하위(자식)로, 다음 값 중 하나로 지정됩니다.

  • 'visible' — 하위(자식)의 PickableParts 속성값에 따라 모든 하위(자식) 객체가 마우스 클릭을 캡처할 수 있습니다.

  • 'none' — 하위(자식)의 PickableParts 속성값에 관계없이 어떠한 하위(자식) 객체도 마우스 클릭을 캡처할 수 없습니다.

하위(자식)가 캡처한 마우스 클릭에 대한 응답으로, 다음 값 중 하나로 지정됩니다.

  • 'on'Transform 객체의 ButtonDownFcn 콜백을 트리거합니다. UIContextMenu 속성을 정의한 경우 상황별 메뉴를 불러옵니다.

  • 'off'Transform 객체의 콜백을 트리거하지 않습니다. 대신, HitTest 속성이 'on'으로 설정되어 있고, 선조가 마우스 클릭을 캡처하도록 하는 PickableParts 속성값을 갖는 가장 가까운 선조에 대해 콜백을 트리거합니다.

Transform 객체는 마우스 클릭을 캡처할 수 없습니다. 그러나 Transform 객체의 하위(자식)를 클릭할 경우 이 하위(자식)의 HitTest 속성이 'off'로 설정되어 있으면 하위(자식)가 이 클릭을 Transform 객체에 전달합니다.

이 속성은 읽기 전용입니다.

삭제 상태로, 'off' 또는 'on'으로 반환됩니다. MATLAB은 DeleteFcn 콜백이 실행을 시작할 때 BeingDeleted 속성을 'on'으로 설정합니다. BeingDeleted 속성은 구성요소 객체가 더 이상 존재하지 않을 때까지 'on'으로 설정되어 유지됩니다.

객체를 쿼리하거나 수정하기 전에 BeingDeleted 속성의 값을 확인하여 이 객체가 곧 삭제될 것이 아님을 확인합니다.

상위(부모)/하위(자식)

모두 확장

상위(부모)로, Axes, Group 또는 Transform 객체로 지정됩니다.

하위(자식)로, 그래픽스 객체로 구성된 배열로 반환됩니다. 이 속성을 사용하여 하위(자식) 목록을 표시하거나, 속성을 자기 자신의 치환으로 설정하여 하위(자식)를 재정렬할 수 있습니다.

Children 속성을 사용해서는 하위(자식)를 추가하거나 제거할 수 없습니다. 이 목록에 하위(자식)를 추가하려면 하위(자식) 그래픽스 객체의 Parent 속성을 Transform 객체로 설정하십시오.

상위(부모)의 Children 속성에 있는 객체 핸들의 가시성으로, 다음 값 중 하나로 지정됩니다.

  • 'on' — 객체 핸들이 항상 표시됩니다.

  • 'off' — 객체 핸들이 항상 표시되지 않습니다. 이 옵션은 다른 함수에 의해 UI가 의도치 않게 변경되는 것을 방지하는 데 유용합니다. HandleVisibility'off'로 설정하여 해당 함수를 실행하는 동안 핸들을 일시적으로 숨길 수 있습니다.

  • 'callback' — 명령줄에서 호출한 함수 내에서가 아니라, 콜백 내에서나 콜백이 호출한 함수 내에서 객체 핸들이 표시됩니다. 이 옵션은 명령줄에서 객체에 액세스하는 것은 차단하지만, 콜백 함수가 이 객체에 액세스하는 것은 허용합니다.

객체가 상위(부모)의 Children 속성에 나열되지 않는 경우, 객체 계층 구조를 검색하거나 핸들 속성을 쿼리하여 객체 핸들을 가져오는 함수가 이 객체를 반환할 수 없습니다. 이러한 함수의 예로는 get, findobj, gca, gcf, gco, newplot, cla, clfclose 함수가 있습니다.

숨겨진 객체 핸들은 여전히 유효합니다. 루트 ShowHiddenHandles 속성을 'on'으로 설정하면 객체 핸들의 HandleVisibility 속성 설정에 관계없이 모든 객체 핸들을 나열할 수 있습니다.

식별자

모두 확장

이 속성은 읽기 전용입니다.

그래픽스 객체의 유형으로, 'hgtransform'으로 반환됩니다. 이 속성을 사용하면 플로팅 계층 구조 내에서 지정된 유형의 객체를 모두 찾을 수 있습니다(예: findobj를 사용하여 유형 검색).

객체 식별자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 객체의 식별자로 사용할 고유 Tag 값을 지정할 수 있습니다. 코드의 다른 곳에서 객체에 액세스해야 할 경우 findobj 함수를 사용하여 Tag 값을 기반으로 객체를 검색할 수 있습니다.

사용자 데이터로, 임의의 MATLAB 배열로 지정됩니다. 예를 들어, 스칼라, 벡터, 행렬, 셀형 배열, 문자형 배열, table형 또는 구조체형으로 지정할 수 있습니다. 이 속성을 사용하여 객체에 임의의 데이터를 저장할 수 있습니다.

앱 디자이너에서 작업하는 경우 앱에서 데이터를 공유할 수 있도록 UserData 속성을 사용하는 대신 퍼블릭 또는 프라이빗 속성을 생성하십시오. 자세한 내용은 앱 디자이너로 만든 앱 내부에서 데이터 공유하기 항목을 참조하십시오.

R2006a 이전에 개발됨