Main Content

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')을 사용합니다. 인자 2로 좌표축 ax를 확대/축소하려면 zoom(ax,2)를 사용하십시오. 앱 디자이너에서 만들고 uifigure 함수를 사용하는 앱에서는 이 구문을 사용하십시오. (R2023a 이후)

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 객체로 지정됩니다.

속성

모두 확장

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

  • '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 논리값으로 저장됩니다.

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

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

객체 함수

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

setAllowAxesZoom

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

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

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

isAllowAxesZoom

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

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

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

setAxesZoomConstraint

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

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

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

getAxesZoomConstraint

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

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

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

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 이전에 개발됨

모두 확장