주요 콘텐츠

zoom

확대/축소 모드 활성화

설명

확대/축소 모드를 사용하면 좌표축에 대한 제한을 대화형 방식으로 변경하여 데이터를 탐색할 수 있습니다. 확대/축소 모드를 활성화하거나 비활성화하고 다른 기본적인 옵션을 설정하려면 zoom 함수를 사용합니다. 확대/축소 모드 동작을 추가로 제어하려면 zoom 객체를 반환한 후 사용하십시오.

확대/축소 모드는 선 차트, 막대 차트, 히스토그램 차트, 곡면 차트 등 대부분의 차트에서 지원됩니다. 확대/축소 모드가 지원되는 차트에는 대개 좌표축 도구 모음에 확대 아이콘 과 축소 아이콘 이 표시됩니다.

기본적으로 활성화되어 있는 내장된 좌표축 상호 작용을 사용하여 데이터를 대화형 방식으로 탐색할 수 있습니다. 예를 들어, 스크롤하거나 손가락 모으기 동작으로 좌표축의 보기를 확대하고 축소할 수 있습니다. 내장된 상호 작용을 사용할 때는 상호 작용 모드를 활성화할 필요가 없으며, 상호 작용 모드보다 반응 속도가 빠릅니다. 하지만 확대/축소 모드를 활성화하여 확대/축소 동작을 사용자 정의할 수 있습니다. 내장된 상호 작용에 대한 자세한 내용은 차트 상호 작용 제어하기 항목을 참조하십시오.

생성

설명

zoom option는 현재 Figure에 있는 모든 좌표축에 대해 확대/축소 모드를 설정합니다. 예를 들어, zoom on은 확대/축소 모드를 활성화하고, zoom xonx차원에 대해서만 확대/축소 모드를 활성화하고, zoom off는 확대/축소 모드를 비활성화합니다.

확대/축소 모드를 활성화했을 때는 커서나 스크롤 휠 또는 키보드를 사용하여 좌표축 보기를 확대/축소할 수 있습니다.

  • 커서 — 확대하려면 좌표축의 중심이 될 곳에 마우스 커서를 두고 클릭합니다. 축소하려면 Shift 키를 누르고 클릭합니다. 사각형 영역을 확대하려면 클릭하여 끄십시오. axes 객체를 기본 확대/축소 수준으로 돌려놓으려면 좌표축 내에서 더블 클릭하십시오.

  • 스크롤 휠 — 확대하려면 위로 스크롤합니다. 축소하려면 아래로 스크롤합니다.

  • 키보드 — 확대하려면 위쪽 화살표(↑)를 누릅니다. 축소하려면 아래쪽 화살표(↓)를 누릅니다.

일부 내장된 상호 작용은 현재 상호 작용 모드에 관계없이 기본적으로 활성화된 상태로 유지됩니다. 확대/축소 모드에 독립적인 내장된 확대/축소 상호 작용을 비활성화하려면 disableDefaultInteractivity 함수를 사용하십시오.

예제

zoom은 확대/축소 모드를 설정하거나 해제합니다. 확대/축소 모드가 비활성화된 경우, zoom을 호출하면 on, xon, yon 중에서 가장 최근에 사용된 확대/축소 옵션이 복원됩니다.

zoom(factor)는 확대/축소 모드에 영향을 주지 않고 지정된 확대/축소 배율로 현재 좌표축을 확대하거나 축소합니다. 확대하려면 factor를 1보다 큰 값으로 지정하십시오. 예: zoom(3). 축소하려면 factor를 0과 1 사이의 값으로 지정하십시오. 예: zoom(0.5).

zoom(fig,___)는 위에 열거된 구문의 지정된 Figure에 있는 모든 좌표축에 대해 확대/축소 모드를 설정합니다. 추가 인수를 확대/축소 모드 옵션이나 확대/축소 인수로 지정하십시오. 예를 들어, Figure fig에서 모든 좌표축에 대해 확대/축소 모드를 활성화하려면 zoom(fig,'on')을 사용합니다. 인자 2로 모든 좌표축을 확대/축소하려면 zoom(fig,2)를 사용하십시오.

zoom(ax,___)는 지정된 좌표축에 대해 확대/축소 모드를 설정합니다. 추가 인수를 확대/축소 모드 옵션이나 확대/축소 인수로 지정하십시오. 예를 들어, 좌표축 ax에 대해 확대/축소 모드를 활성화하려면 zoom(ax,'on')을 사용합니다. (R2023a 이후)

R2025a 이전: 앱 디자이너 또는 uifigure 함수를 사용하여 만든 앱에서는 이 구문을 사용하십시오.

z = zoom은 현재 Figure에 대해 zoom 객체를 만듭니다. 이 구문은 확대/축소 모드, 동작 및 방향을 사용자 지정할 때 유용합니다.

예제

z = zoom(fig)는 지정된 Figure에 대한 zoom 객체를 만듭니다.

예제

입력 인수

모두 확장

확대/축소 모드 옵션으로, 다음 값 중 하나로 지정됩니다.

  • 'on' — 확대/축소 모드를 활성화합니다.

  • 'off' — 확대/축소 모드를 비활성화합니다. 일부 내장된 상호 작용은 현재 상호 작용 모드에 관계없이 기본적으로 활성화된 상태로 유지됩니다. 확대/축소 모드에 독립적인 내장된 확대/축소 상호 작용을 비활성화하려면 disableDefaultInteractivity 함수를 사용하십시오.

  • 'reset' — 현재 확대/축소 수준을 기본 확대/축소 수준으로 설정합니다. 기본 확대/축소 수준을 설정한 후 zoom out을 호출하거나 좌표축에서 더블 클릭하거나 좌표축 도구 모음에서 보기 복원 아이콘을 선택하면 좌표축이 이 확대/축소 수준으로 돌아갑니다.

  • 'out' — 현재 좌표축을 기본 확대/축소 수준으로 되돌립니다.

  • 'xon'x-차원에 대해서만 확대/축소 모드를 활성화합니다.

  • 'yon'y-차원에 대해서만 확대/축소 모드를 활성화합니다.

  • 'toggle' — 확대/축소 모드를 설정하거나 해제합니다. 확대/축소 모드가 비활성화된 경우, 'toggle''on', 'xon', 'yon' 중에서 가장 최근에 사용된 확대/축소 옵션을 복원합니다. 이 옵션을 사용하는 것은 인수 없이 zoom을 호출하는 것과 동일합니다.

확대/축소 배율로, 양수로 지정됩니다. 확대하려면 factor를 1보다 큰 수로 지정하십시오. 축소하려면 factor를 0과 1 사이의 수로 지정하십시오. 이 경우 좌표축이 1/factor만큼 축소됩니다.

대상 Figure로, Figure 객체로 지정됩니다. 대상 Figure를 지정하면 현재 또는 미래의 모든 Axes의 자식에 대해 해당 모드가 설정됩니다.

대상 좌표축으로, Axes 객체로 지정됩니다.

속성

모두 확장

참고

zoom 객체의 이러한 속성을 수정하면 MATLAB®에서 Figure에 레거시 탐색 모드가 활성화됩니다. 자세한 내용은 enableLegacyExplorationModes를 참조하십시오.

확대/축소를 허용할 차원으로, 다음 값 중 하나로 지정됩니다.

  • 'both'x-차원과 y-차원에서만 확대/축소를 허용합니다.

  • 'horizontal'x-차원에서만 확대/축소를 허용합니다.

  • 'vertical'y-차원에서만 확대/축소를 허용합니다.

이 속성은 2차원 보기의 좌표축에만 영향을 줍니다(예: view([0 90])을 호출하는 경우). 3차원 보기에서 확대/축소 차원을 제어하려면 ZoomInteraction 객체를 사용하십시오.

확대/축소 방향으로, 다음 값 중 하나로 지정됩니다.

  • 'in' — 클릭하면 확대합니다.

  • 'out' — 클릭하면 축소합니다.

확대/축소 모드가 활성화된 경우에는 Direction의 값에 관계없이 스크롤 휠을 사용하여 확대하거나 축소할 수 있습니다.

마우스 오른쪽 버튼을 클릭했을 때 수행할 동작으로, 다음 값 중 하나로 지정됩니다.

  • 'PostContextMenu' — 상황별 메뉴를 표시합니다.

  • 'InverseZoom' — 마우스 오른쪽 버튼을 클릭하면 축소합니다.

RightClickAction 속성을 설정하면 향후 zoom 객체의 디폴트 값이 설정됩니다. RightClickAction의 값은 다른 MATLAB 세션으로 전환해도 유지됩니다.

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

RightClickAction 속성의 값이 'InverseZoom'인 경우 이 속성은 어떠한 영향도 미치지 않습니다.

확대/축소 억제 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

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

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

사용자가 정의한 조건 하의 확대/축소를 억제하려면 이 속성을 사용하십시오. 숫자형 또는 논리형 출력값 1(true)은 확대/축소를 억제하고, 숫자형 또는 논리형 출력값 0(false)은 확대/축소를 허용합니다. 함수 핸들을 사용하여 이 속성을 지정하면 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • axes — 확대/축소되는 axes 객체.

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

함수 핸들을 사용하여 이 속성을 지정할 경우 함수의 출력값을 변수에 할당해야 합니다.

콜백에 대한 자세한 내용은 그래픽스 객체에 대한 콜백 만들기 항목을 참조하십시오.

확대/축소 전에 실행할 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

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

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

확대 또는 축소를 시작할 때 코드를 실행하려면 이 속성을 사용하십시오. 함수 핸들을 사용하여 이 속성을 지정하면 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • figure — 확대/축소되는 Figure 객체.

  • axesStruct — 확대/축소되는 axes 객체인 Axes라는 필드가 하나 들어 있는 구조체. 콜백 함수에 이 인수를 사용하지 않을 경우 이 인수를 물결표 문자(~)로 바꾸십시오.

콜백에 대한 자세한 내용은 그래픽스 객체에 대한 콜백 만들기 항목을 참조하십시오.

확대/축소 후에 실행할 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들

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

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

확대/축소를 마친 후에 코드를 실행하려면 이 속성을 사용하십시오. 함수 핸들을 사용하여 이 속성을 지정하면 MATLAB이 다음 두 개의 인수를 콜백 함수에 전달합니다.

  • figure — 확대/축소되는 Figure 객체.

  • axesStruct — 확대/축소되는 axes 객체인 Axes라는 필드가 하나 들어 있는 구조체. 콜백 함수에 이 인수를 사용하지 않을 경우 이 인수를 물결표 문자(~)로 바꾸십시오.

콜백에 대한 자세한 내용은 그래픽스 객체에 대한 콜백 만들기 항목을 참조하십시오.

확대/축소 모드 상태로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

읽기 전용 속성입니다.

zoom 객체를 만들 때 지정한 Figure 객체. Figure를 지정하지 않은 경우, FigureHandlezoom 객체를 만든 시점의 현재 Figure입니다.

레거시 모드로, "on" 또는 "off"나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 "on"true와 동일하고 값 "off"false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다. 자세한 내용은 Legacy Exploration Modes 항목을 참조하십시오.

이 속성을 "on"으로 설정한 후에는 다시 "off"로 변경할 수 없습니다.

R2025a 이전: 이 속성은 uifigure 함수를 사용해 생성하거나 MATLAB Online™에서 생성한 Figure의 zoom 객체에만 적용됩니다. 이 속성을 "on"으로 설정하면 기존 Figure의 모드 동작과 일치하도록 UI Figure의 상호 작용 모드 동작이 변경됩니다. 자세한 내용은 enableLegacyExplorationModes를 참조하십시오.

객체 함수

참고

zoom 객체에 대해 이러한 객체 함수를 호출하면 MATLAB에서 Figure에 레거시 탐색 모드가 활성화됩니다. 자세한 내용은 enableLegacyExplorationModes를 참조하십시오.

zoom 객체의 함수를 사용하여 Figure 내 axes 객체의 확대/축소 동작을 사용자 지정합니다. 이러한 모든 함수에 대해, axes 객체와 zoom 객체는 동일한 Figure에 연결되어 있어야 합니다.

setAllowAxesZoom

setAllowAxesZoom 함수는 좌표축을 확대/축소할 권한을 설정합니다.

axes 객체로 구성된 벡터 axes와 논리형 스칼라 tf를 입력값으로 사용하여 zoom 객체 z에 대해 setAllowAxesZoom(z,axes,tf)를 호출하면 axes 객체에 대해 확대/축소 작업을 허용하거나 허용하지 않을 수 있습니다.

setAllowAxesZoom을 사용하여 좌표축에 대해 확대/축소 모드를 활성화해도 Figure에 대해 확대/축소 모드가 활성화되지 않습니다. 이렇게 하려면 zoom 객체의 Enable 속성을 설정하십시오.

참고

좌표축의 InteractionOptions 객체에 대한 ZoomSupported 속성을 설정하면, 레거시 탐색 모드에 들어가지 않고도 이 기능을 동일하게 활용할 수 있습니다.

isAllowAxesZoom

isAllowAxesZoom 함수는 좌표축을 확대/축소할 권한을 쿼리합니다.

axes 객체로 구성된 벡터 axes를 입력값으로 사용하여 zoom 객체 z에 대해 tf = isAllowAxesZoom(z,axes)를 호출하면 axes와 같은 크기의 논리형 배열 tf를 반환합니다. tf는 해당 axes 객체에서 확대/축소 작업이 허용되는지 여부를 표시합니다.

isAllowAxesZoom을 사용하여 좌표축의 확대/축소 모드를 반환해도 Figure의 확대/축소 모드가 반환되지는 않습니다. 그렇게 하려면 zoom 객체의 Enable 속성에 액세스하십시오.

참고

좌표축의 InteractionOptions 객체에 대한 ZoomSupported 속성을 쿼리하면, 레거시 탐색 모드에 들어가지 않고도 이 기능을 동일하게 활용할 수 있습니다.

setAxesZoomConstraint

setAxesZoomConstraint 함수는 좌표축의 확대/축소 차원을 설정합니다.

axes 객체로 구성된 벡터 axes와 차원 값 스칼라 d를 입력값으로 사용하여 zoom 객체 z에 대해 setAxesZoomConstraint(z,axes,d)를 호출하면 axes 객체의 확대/축소 차원을 차원 값 'x', 'y', 'z', 'xy', 'xz', 'yz' 또는 'unconstrained' 중 하나로 설정합니다.

setAxesZoomConstraint를 사용하여 좌표축의 확대/축소 차원을 설정해도 Figure의 확대/축소 차원이 설정되지는 않습니다. 이렇게 하려면 zoom 객체의 Motion 속성을 설정하십시오.

참고

좌표축의 InteractionOptions 객체에 대한 LimitsDimensions 속성을 설정하면, 레거시 탐색 모드에 들어가지 않고도 이 기능을 동일하게 활용할 수 있습니다.

getAxesZoomConstraint

getAxesZoomConstraint 함수는 좌표축의 확대/축소 차원을 반환합니다.

axes 객체로 구성된 벡터 axes를 입력값으로 사용하여 zoom 객체 z에 대해 d = getAxesZoomConstraint(z,axes)를 호출하면 각 axes 객체의 확대/축소 차원을 표시하는 셀형 배열 d를 반환합니다.

getAxesZoomConstraint를 사용하여 좌표축의 확대/축소 차원을 반환해도 Figure의 확대/축소 차원이 반환되지는 않습니다. 그렇게 하려면 zoom 객체의 Motion 속성에 액세스하십시오.

참고

좌표축의 InteractionOptions 객체에 대한 LimitsDimensions 속성을 쿼리하면, 레거시 탐색 모드에 들어가지 않고도 이 기능을 동일하게 활용할 수 있습니다.

setAxes3DPanAndZoomStyle

setAxes3DPanAndZoomStyle 함수는 확대/축소 스타일을 설정합니다.

axes 객체로 구성된 벡터 axes와 확대/축소 스타일 문자형 배열 s를 입력값으로 사용하여 zoom 객체 z에 대해 setAxes3DPanAndZoomStyle(z,axes,s)를 호출하면 axes 객체의 확대/축소 스타일을 설정합니다. 기본적으로 확대/축소 스타일은 'limits'입니다. 이 스타일은 좌표축 제한을 수정하여 확대/축소합니다. 카메라 시야각을 수정하여 확대/축소하려면 확대/축소 스타일을 'camera'로 지정하십시오.

카메라 시야각에 대한 자세한 내용은 카메라 그래픽스 용어 항목을 참조하십시오.

getAxes3DPanAndZoomStyle

getAxes3DPanAndZoomStyle 함수는 확대/축소 스타일을 반환합니다.

axes 객체로 구성된 벡터 axes를 입력값으로 사용하여 zoom 객체 z에 대해 s = getAxes3DPanAndZoomStyle(z,axes)를 호출하면 각 axes 객체의 확대/축소 스타일을 표시하는 셀형 배열 s를 반환합니다.

setAxesZoomMotion(권장되지 않음)

이 함수는 권장되지 않습니다. setAxesZoomConstraint를 대신 사용하십시오.

axes 객체로 구성된 벡터 axes와 확대/축소 차원 d를 입력값으로 사용하여 zoom 객체 z에 대해 setAxesZoomMotion(z,axes,d)를 호출하면 axes 객체의 확대/축소 차원을 차원 값 'horizontal', 'vertical' 또는 'both' 중 하나로 설정합니다.

setAxesZoomMotion으로 설정되는 좌표축 확대/축소 차원은 Motion 속성을 사용하여 설정되는 Figure의 확대/축소 차원과 같지 않습니다.

getAxesZoomMotion(권장되지 않음)

이 함수는 권장되지 않습니다. getAxesZoomConstraint를 대신 사용하십시오.

axes 객체로 구성된 벡터 axes를 입력값으로 사용하여 zoom 객체 z에 대해 d = getAxesZoomMotion(z,axes)를 호출하면 각 axes 객체의 확대/축소 차원을 표시하는 셀형 배열 d를 반환합니다.

getAxesZoomMotion을 사용하여 반환되는 좌표축 확대/축소 차원은 Motion 속성을 사용하여 반환되는 Figure의 확대/축소 차원과 같지 않습니다.

예제

모두 축소

곡면을 플로팅하고 확대/축소 모드를 활성화합니다.

surf(peaks)
zoom on

A surface with several peaks

가장 높은 피크를 클릭하여 그곳을 확대합니다. 그런 다음 기본 확대/축소 수준으로 설정합니다. 이후 zoom out을 호출하거나, 좌표축을 더블 클릭하거나, 좌표축 도구 모음에서 보기 복원 아이콘을 클릭하면 좌표축이 이 기본 확대/축소 수준으로 돌아갑니다.

zoom reset

The surface zoomed into the tallest peak

가장 높은 피크를 클릭하여 한 번 더 확대합니다. 그런 다음 축소하면 앞에서 설정한 기본 확대/축소 수준으로 돌아갑니다.

zoom out

타일 형식 차트 레이아웃에서 4개의 좌표축을 생성하고 각각에 다른 확대/축소 동작을 할당합니다. 그런 다음 좌표축을 대화형 방식으로 확대/축소합니다.

tiledlayout(2,2)
ax1 = nexttile;
plot(1:10);
z = zoom;

ax2 = nexttile;
plot(rand(3));
setAllowAxesZoom(z,ax2,false);

ax3 = nexttile;
surf(peaks);
setAxesZoomConstraint(z,ax3,'xy');

ax4 = nexttile;
contour(peaks);
setAxesZoomMotion(z,ax4,'horizontal');

곡면을 플로팅하고 uicontextmenu 함수를 사용하여 상황별 메뉴를 만듭니다.

surf(peaks)
cm = uicontextmenu;

A surface with several peaks

그런 다음 메뉴에 항목을 하나 추가합니다. 레이블을 지정하고 Figure를 닫는 콜백을 지정합니다.

m = uimenu(cm);
m.Label = 'Close figure';
f = gcf;
m.Callback = @(src,event)close(f);

zoom 객체를 만듭니다. zoom 객체의 ContextMenu 속성을 설정하여 상황별 메뉴를 추가합니다. 그런 다음 확대/축소 모드를 활성화합니다.

z = zoom(f);
z.ContextMenu = cm;
z.Enable = 'on';

마우스 오른쪽 버튼을 클릭하고 Close figure를 선택하여 Figure를 닫습니다.

세부 정보

모두 확장

대체 기능

좌표축 도구 모음

일부 차트의 경우 좌표축 도구 모음에서 확대 아이콘과 축소 아이콘을 클릭하여 확대/축소 모드를 활성화합니다.

버전 내역

R2006a 이전에 개발됨

모두 확장