Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Figure 속성

Figure 창의 모양과 동작 제어

Figure는 그래픽스 또는 사용자 인터페이스 구성요소의 컨테이너입니다. Figure 속성은 Figure의 특정 인스턴스의 모양과 동작을 제어합니다. Figure의 특성을 수정하려면 속성값을 변경하십시오. 점 표기법을 사용하여 속성을 쿼리하고 설정합니다.

f = figure;
u = f.Units;
f.Units = 'inches';

uifigure 함수로 만든 Figure에 대해서는 UI Figure 속성 항목을 대신 참조하십시오.

창 모양

모두 확장

Figure 메뉴 모음 표시로, 'figure''none'으로 지정됩니다. MenuBar 속성을 사용하면 Figure 창의 맨 위에 디폴트 메뉴를 표시하거나 숨길 수 있습니다. 메뉴 모음을 표시하려면 'figure'를 지정하십시오. 숨기려면 'none'을 지정하십시오.

이 속성은 디폴트 메뉴에만 영향을 미치며 uimenu 명령을 사용하여 정의된 메뉴에는 영향을 미치지 않습니다.

WindowStyle 속성이 'Modal'로 설정된 Figure에는 메뉴 모음이 나타나지 않습니다. uimenu 자식을 포함하는 Figure가 'Modal'로 변경될 경우에도 menu 자식은 Figure의 Children 속성에 여전히 존재합니다. 그러나 WindowStyle'Modal'로 설정된 경우에는 menu가 표시되지 않습니다.

참고

Figure에 디폴트 메뉴를 표시하지 않으려면 Figure를 만들 때 이 속성을 'none'으로 설정하십시오.

Figure 도구 모음 표시로, 다음 중 하나로 지정됩니다.

  • 'auto'MenuBar 속성과 동일한 값을 사용합니다.

  • 'figure' — 도구 모음이 표시됩니다.

  • 'none' — 도구 모음이 표시되지 않습니다.

이 속성은 디폴트 도구 모음에만 영향을 미칩니다. 카메라 도구 모음이나 플롯 편집 도구 모음 등의 다른 도구 모음에는 영향을 주지 않습니다. Figure 보기 메뉴에서 Figure 도구 모음을 선택하면 이 속성이 'figure'로 설정됩니다.

WindowStyle 속성이 'Modal'로 설정된 Figure에는 도구 모음이 나타나지 않습니다. 도구 모음을 포함하는 Figure가 'Modal'로 변경될 경우에도 도구 모음 자식은 Figure의 Children 속성에 여전히 존재합니다. 그러나 WindowStyle'Modal'로 설정된 경우에는 도구 모음이 표시되지 않습니다.

참고

디폴트 도구 모음을 숨기려면 Figure를 만들 때 이 속성을 'none'으로 설정하십시오.

대화형 방식의 Figure 도킹으로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

  • 'on' — MATLAB® 데스크탑에 Figure를 도킹할 수 있습니다. 데스크탑 > Figure 도킹 메뉴 항목과 메뉴 모음의 Figure 도킹 버튼 이 활성화됩니다.

  • 'off' — MATLAB이 데스크탑 > Figure 도킹 메뉴 항목을 비활성화하고 Figure 도킹 버튼을 표시하지 않습니다.

    WindowStyle'docked'로 설정되어 있으면 DockControls 속성을 'off'로 설정할 수 없습니다.

MATLAB Online™에서는 DockControls 속성의 설정이 지원되지 않습니다.

배경색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 'none'을 지정하면 배경색이 화면에서 검은색으로 나타나지만, Figure를 인쇄할 경우에는 마치 Figure 창이 투명한 것처럼 배경이 인쇄됩니다.

사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

  • 16진수 색 코드는 string형 스칼라 또는 문자형 벡터로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#FF8800", "#ff8800", "#F80""#f80"은 모두 동일합니다.

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름RGB 3색16진수 색 코드모양
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"해당 없음해당 없음해당 없음색 없음

다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드모양
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

데이터형: double | char

창 스타일로, 다음 중 하나로 지정됩니다.

  • 'normal' — Figure 창은 다른 창에 독립적이며, Figure가 표시되는 동안 다른 창에 액세스할 수 있습니다.

  • 'modal' — Figure는 기존의 모든 Figure 창 위에 표시되어, 맨 앞 Figure가 모달 상태로 존재하는 한 기존 Figure에 액세스할 수 없게 됩니다. 그러나 모달 Figure 이후에 새로 생성된 Figure는 모두 표시됩니다.

    여러 모달 창이 있는 경우 가장 최근에 생성된 창에 포커스가 유지되며, 이 가장 최근에 생성된 창은 숨겨지도록 설정되거나 일반 창 스타일로 돌아가거나 삭제될 때까지 다른 모든 창 위에 계속 남아 있습니다. 창이 사라지거나 WindowStyle normal로 돌아가거나 삭제되면 포커스는 마지막으로 포커스가 있던 창으로 복귀됩니다.

  • 'docked' — Figure가 데스크탑 또는 문서 창에 표시됩니다. WindowStyle 속성이 'docked'로 설정되어 있으면 DockControls 속성을 'off'로 설정할 수 없습니다. MATLAB Online에서는 'docked' 옵션이 지원되지 않습니다.

참고

다음은 WindowStyle 속성의 몇 가지 중요한 특성과 권장되는 모범 사례입니다.

  • UI 창을 만들 때는 항상 WindowStyle 속성을 지정하십시오. 또한 Figure의 Resize, Position, OuterPosition 속성 중 하나를 설정하려는 경우에는 먼저 WindowStyle 속성을 설정하십시오.

  • Figure의 WindowStyle 속성은 Figure가 표시되도록 설정되거나 Figure에 자식이 포함된 경우 등 언제든지 사용자가 변경할 수 있습니다. 그러나 일부 시스템에서는 이 속성을 설정하면 시스템의 일반 창과 모달 창 구현 방식에 따라 Figure가 깜박이거나 사라졌다가 다시 나타날 수 있습니다. 최적의 시각적 결과를 얻으려면 생성 시에 또는 Figure가 표시되지 않을 때 WindowStyle 속성을 설정하십시오.

  • Figure에서 reset을 호출해도 WindowStyle 속성의 값은 변경되지 않습니다.

모달 창 스타일 동작

WindowStyle'modal'로 설정된 경우, Figure 창은 창이 표시되어 있는 한 모든 MATLAB 창에 대한 모든 키보드와 마우스 동작을 트래핑합니다. MATLAB이 아닌 다른 응용 프로그램에 속해 있는 창에는 영향을 미치지 않습니다.

모달 Figure에 포커스가 있는 상태에서 Ctrl+C를 입력하면 해당 Figure는 'normal' WindowStyle 속성 설정으로 되돌아갑니다. 따라서 사용자가 명령줄에 입력할 수 있습니다.

WindowStyle 속성이 'modal'로 설정되고 Visible 속성이 'off'로 설정된 Figure는 MATLAB에서 표시 가능해질 때까지 모달 형식으로 동작하지 않습니다. 따라서 모달 창을 삭제하는 대신 나중에 재사용할 수 있도록 숨겨둘 수 있습니다.

모달 Figure는 메뉴의 자식, 내장 메뉴 또는 도구 모음을 표시하지 않습니다. 그러나 모달 Figure에서 메뉴를 만들거나 메뉴의 자식이 있는 Figure에서 WindowStyle 속성 설정을 'modal'로 변경하는 것은 오류가 아닙니다. 이유는, Menu 객체가 존재하고 있으며 Figure가 이를 유지하기 때문입니다. Figure의 WindowStyle 속성을 'normal'로 재설정하면 메뉴가 표시됩니다.

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

  • 'normal' — 창이 보통 상태로 표시됩니다.

  • 'minimized' — 창이 축소되어 있으나, 창에서 계속 명령을 실행하여 속성을 가져오거나 설정하고, 자식을 추가하거나, 플롯을 만들 수 있습니다.

  • 'maximized' — 창이 화면 전체를 채웁니다. 운영 체제에서 제공되는 최소화, 복원, 닫기 버튼은 창의 코너에 표시됩니다. 창의 메뉴와 도구 모음이 보통 상태에서 제공될 경우, 이러한 버튼도 보통 상태에서 표시됩니다.

  • 'fullscreen' — 창이 화면 전체를 채웁니다. 그러나 운영 체제에서 제공되는 최소화, 복원, 닫기 버튼은 숨겨집니다. 창의 메뉴와 도구 모음이 보통 상태에서 제공될 경우, 이러한 버튼도 보통 상태에서 표시됩니다.

운영 체제에서 제공되는 최소화, 최대화 또는 복원 버튼을 클릭하면 WindowState 속성이 그에 따라 설정됩니다. Ctrl+F11(Windows® 및 Linux®) 또는 Ctrl+Command+f(macOS)를 누르면 'fullscreen' 상태가 전환됩니다.

도킹된 Figure에서 또는 MATLAB Online에서 WindowState 속성을 설정하는 것은 지원되지 않습니다.

위치와 크기

모두 확장

그리기 가능 영역의 위치와 크기로, [left bottom width height] 형식의 벡터로 지정됩니다. Figure 테두리, 제목 표시줄, 메뉴 모음, 도구 모음은 이 영역에서 제외됩니다.

다음 표에서는 Position 벡터의 각 요소를 설명합니다.

요소설명
left주 디스플레이의 왼쪽 가장자리부터 창의 왼쪽 내부 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다.

Figure가 도킹된 경우 이 값은 MATLAB 데스크탑 내의 Figure 패널에 대해 상대적입니다.
bottom주 디스플레이의 하단 가장자리부터 창의 내부 하단 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다.

Figure가 도킹된 경우 이 값은 MATLAB 데스크탑 내의 Figure 패널에 대해 상대적입니다.
widthfigure의 오른쪽과 왼쪽 내부 가장자리 사이의 거리.
height창의 상단과 하단 내부 가장자리 사이의 거리.

모든 측정값은 Units 속성으로 지정된 단위로 표시됩니다.

Figure가 도킹되어 있으면 Figure의 Position 속성을 지정할 수 없습니다.

MATLAB Online에서는 Position 벡터의 bottom 요소와 left 요소가 무시됩니다.

테두리, 제목 표시줄, 메뉴 모음, 도구 모음을 포함하는 완전한 창을 배치하려면 OuterPosition 속성을 사용하십시오.

참고

Windows 운영 체제에서는 최소 창 너비와 최대 창 크기가 강제로 적용됩니다. 이 제한값을 벗어나는 Figure 크기를 지정할 경우 Figure는 사용자가 지정한 크기가 아니라 이 제한 크기로 표시됩니다.

측정 단위로, 다음 표의 값 중 하나로 지정됩니다.

단위 값설명
'pixels'(디폴트 값)

픽셀.

R2015b부터, 픽셀 단위의 거리는 Windows와 Macintosh 시스템에서 시스템 해상도와 무관하게 적용됩니다. 즉, 다음과 같습니다.

  • Windows 시스템에서 1픽셀은 1/96인치입니다.

  • Macintosh 시스템에서 1픽셀은 1/72인치입니다.

Linux 시스템에서 픽셀 크기는 시스템 해상도에 의해 결정됩니다.

'normalized'이 단위는 부모 컨테이너에 대해 정규화됩니다. 컨테이너의 왼쪽 아래 코너는 (0,0)에 매핑되고 오른쪽 위 코너는 (1,1)에 매핑됩니다.
'inches'인치.
'centimeters'센티미터.
'points'포인트. 1포인트는 1/72인치와 같습니다(1인치 = 2.54cm).
'characters'

이 단위는 다음과 같이 그래픽스 root 객체의 디폴트 uicontrol 글꼴을 기반으로 합니다.

  • 문자 너비 = 문자 x의 너비.

  • 문자 높이 = 텍스트의 두 줄의 기준선 간 거리.

디폴트 uicontrol 글꼴에 액세스하려면 get(groot,'defaultuicontrolFontName')이나 set(groot,'defaultuicontrolFontName')을 사용하십시오.

MATLAB은 모든 단위를 부모 객체의 왼쪽 아래 코너부터 측정합니다.

이 속성은 Position 속성에 영향을 미칩니다. Units 속성을 변경하는 경우, 디폴트 값을 상정하는 다른 함수에 영향을 미치지 않도록 계산을 완료한 후에 이 속성값을 디폴트 값으로 복원하는 것이 좋습니다.

Units 속성과 Position 속성을 지정하는 순서에 따라 다음과 같이 영향을 미칩니다.

  • Position 속성보다 먼저 Units를 지정하면 MATLAB은 지정한 단위를 사용하여 Position을 설정합니다.

  • Position 속성 다음에 Units 속성을 지정하면 MATLAB은 디폴트 Units를 사용하여 위치를 설정합니다. 그런 다음 MATLAB은 Position 값을 지정한 단위의 상응하는 값으로 변환합니다.

그리기 가능 영역의 위치와 크기로, [left bottom width height] 형식의 벡터로 지정됩니다. Figure 테두리, 제목 표시줄, 메뉴 모음, 도구 모음은 이 영역에서 제외됩니다. 모든 측정값은 Units 속성으로 지정된 단위로 표시됩니다.

이 속성값은 Position 속성값과 동일합니다.

바깥쪽 경계의 위치와 크기로, [left bottom width height] 형식의 벡터로 지정됩니다. 이 속성은 Figure의 바깥쪽 경계로 둘러싸인 영역(테두리, 제목 표시줄, 메뉴 모음, 도구 모음 포함)을 정의합니다.

다음 표에서는 벡터의 각 요소를 설명합니다.

요소설명
left주 디스플레이의 왼쪽 가장자리부터 figure 창의 왼쪽 외부 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다.

Figure가 도킹된 경우 이 값은 MATLAB 데스크탑 내의 Figure 패널에 대해 상대적입니다.
bottom주 디스플레이의 하단 가장자리부터 figure 창의 외부 하단 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다.

Figure가 도킹된 경우 이 값은 MATLAB 데스크탑 내의 Figure 패널에 대해 상대적입니다.
widthfigure의 오른쪽과 왼쪽 외부 가장자리 사이의 거리.
heightfigure의 상단과 하단 외부 가장자리 사이의 거리.

모든 측정값은 Units 속성으로 지정된 단위로 표시됩니다.

Figure가 도킹되어 있으면 Figure의 OuterPosition 속성을 지정할 수 없습니다.

참고

Windows 운영 체제에서는 최소 창 너비와 최대 창 크기가 강제로 적용됩니다. 이 제한값을 벗어나는 Figure 크기를 지정할 경우 Figure는 사용자가 지정한 크기가 아니라 이 제한 크기로 표시됩니다.

이 속성은 Figure에 아무런 영향을 미치지 않습니다.

크기 조정이 가능한 Figure로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

이 속성을 'on'으로 설정하면 Figure의 크기를 조정할 수 있습니다. 그러지 않으면 Figure는 크기를 조정할 수 없습니다.

플로팅

모두 확장

Figure의 좌표축 콘텐츠에 대한 컬러맵으로, m개의 개별 색을 정의하는 RGB(빨간색, 녹색, 파란색) 3색의 m×3 배열로 지정됩니다.

예: figure('Colormap',[1 0 1; 0 0 1; 1 1 0])은 컬러맵을 세 가지 색, 즉 자홍색, 파란색, 노란색으로 설정합니다.

MATLAB은 행 번호를 사용하여 이러한 색에 액세스합니다.

컬러맵은 surface, image, patch 함수로 생성된 객체의 렌더링에 영향을 미치지만, 다른 그래픽스 객체에는 일반적으로 영향을 미치지 않습니다.

Figure의 Colormap 속성을 설정하면 Figure의 좌표축과 차트는 동일한 컬러맵을 사용합니다.

Axes 콘텐츠에 대한 투명도 맵으로, 0부터 1까지 선형적으로 진행하는 유한 알파 값으로 구성된 배열로 지정됩니다. 배열의 크기는 m×1이나 1×m일 수 있습니다. MATLAB은 배열 내 알파 값에 대응하는 인덱스를 통해 알파 값에 액세스합니다. Alphamap은 임의의 길이일 수 있습니다.

알파맵은 surface, image, patch 함수로 생성된 객체의 렌더링에 영향을 미치지만, 다른 그래픽스 객체에는 영향을 미치지 않습니다.

Figure의 Alphamap 속성을 설정하면 Figure의 좌표축과 차트는 동일한 알파맵을 사용합니다.

다음 플롯을 추가하는 방법에 대한 지시문으로, 'add', 'new', 'replace', 'replacechildren' 중 하나로 지정됩니다.

다음 표에서는 각 속성값의 효과에 대해 설명합니다.

속성값효과
'new'

새 Figure를 만들어 현재 Figure로 사용합니다.

'add'

현재 Figure를 지우거나 재설정하지 않고 새 그래픽스 객체를 추가합니다.

'replacechildren'

새 객체를 추가하기 전에 숨겨지지 않은 axes 객체를 모두 제거합니다. Figure 속성을 재설정하지 않습니다.

clf 명령을 사용하는 것과 동일합니다.

'replace'

새 그래픽스 객체를 추가하기 전에 모든 axes 객체를 제거하고 Figure 속성을 디폴트로 재설정합니다.

clfreset 명령을 사용하는 것과 동일합니다.

newplot 함수를 사용하여 NextPlot 속성을 처리할 수 있습니다. 자세한 내용은 좌표축의 NextPlot 속성과 그래프에 사용할 Figure 및 좌표축 준비하기 항목을 참조하십시오.

화면 표시와 인쇄에 사용되는 렌더러로, 다음 값 중 하나로 지정됩니다.

  • 'opengl' — OpenGL® 렌더러입니다. 이 옵션은 그래픽스 하드웨어가 시스템에 있는 경우 MATLAB이 그래픽스 하드웨어에 액세스할 수 있도록 해 줍니다. OpenGL 렌더러는 객체를 모니터에 표시되는 대로 앞에서 뒤쪽으로 정렬하여 표시합니다. 선과 면이 모니터의 평면에서 같은 위치에 있으면 항상 선이 면 앞쪽에 그려집니다.

  • 'painters' — Painters 렌더러입니다. 이 옵션은 2차원 보기의 좌표축에서 잘 작동합니다. 2차원 보기에서 Painters 렌더러는 자식 순서(지정된 순서)대로 그래픽스 객체를 정렬합니다. 3차원 보기에서 Painters 렌더러는 앞에서 뒤쪽으로 객체를 정렬합니다. 하지만, 3차원 보기에서는 교차 다각형을 제대로 그리지 못할 수 있습니다.

참고

Renderer 속성은 향후 릴리스에서 제거될 예정입니다. 자세한 내용은 버전 내역 항목을 참조하십시오.

MATLAB Online에서는 Renderer 속성의 설정이 지원되지 않습니다.

OpenGL 하드웨어 및 소프트웨어 구현

소프트웨어 버전의 OpenGL이 MATLAB에 내장되어 있으므로 MATLAB을 구동하는 모든 컴퓨터에서 OpenGL을 사용할 수 있습니다. 그러나, 하드웨어 가속 버전의 OpenGL을 지원하는 그래픽스 하드웨어가 있는 경우 MATLAB은 성능을 높이기 위해 자동으로 이 하드웨어 가속 버전을 사용합니다.

하드웨어 버전을 사용할 수 있는 경우에도 MATLAB이 소프트웨어 버전의 OpenGL을 자동으로 사용하는 경우도 있습니다. 예를 들어, MATLAB은 알려진 드라이버 문제가 있는 그래픽스 하드웨어를 감지하거나 Windows에서 가상 머신이나 원격 데스크탑이 사용되는 것을 감지하는 경우 소프트웨어 버전을 사용합니다.

MATLAB이 사용 가능한 OpenGL 라이브러리를 찾을 수 없는 경우 경고를 발생시킵니다.

소프트웨어 OpenGL 선택

OpenGL을 하드웨어 버전에서 소프트웨어 버전으로 전환하려면 다음을 수행하십시오.

  • Linux 시스템에서는 명령 matlab -softwareopengl을 사용하여 MATLAB을 시작합니다.

  • Windows 시스템에서는 MATLAB에서 명령 opengl software를 실행하거나 명령 matlab -softwareopengl을 사용하여 MATLAB을 시작합니다.

  • Macintosh 시스템에서는 소프트웨어 OpenGL이 지원되지 않습니다.

사용 가능한 소프트웨어 버전은 다음과 같습니다.

  • Linux 시스템에서 MATLAB은 MATLAB 배포에 포함된 OpenGL의 소프트웨어 구현을 사용합니다.

  • Windows에서는 OpenGL이 운영 체제에 포함되어 있습니다. OpenGL에 문제가 있는 경우 그래픽스 드라이버 공급업체에 문의하여 최신의 정식 OpenGL 버전을 받으십시오.

  • Macintosh 시스템에서는 소프트웨어 OpenGL을 사용할 수 없습니다.

OpenGL 라이브러리 버전 확인

시스템에서 MATLAB이 사용하고 있는 OpenGL 라이브러리의 버전과 공급업체를 확인하려면 rendererinfo 함수를 호출하십시오. 예를 들어, 다음 명령은 현재 좌표축에 대한 정보를 가져와서 info라는 구조체에 저장합니다.

info = rendererinfo(gca)

또한 이 구조체는 GraphicsRenderer 필드에 그래픽스 렌더러의 이름을 제공합니다. 예를 들어, MATLAB이 하드웨어 가속 OpenGL을 사용하는 경우 이 필드는 'OpenGL Hardware'를 반환합니다. MATLAB이 소프트웨어 OpenGL을 사용하는 경우 이 필드는 'OpenGL Software'를 반환합니다.

XServer 연결 끊김

Linux를 사용하는 경우, XServer와의 연결이 끊어지면 MATLAB에서 세그멘테이션 위반으로 인해 충돌이 발생할 수 있습니다. 이런 경우 시스템에 최신 XServer를 설치해야 합니다.

Linux 시스템에서는 OpenGL 드라이버 업그레이드를 시도하거나 다음 명령을 사용하여 소프트웨어 OpenGL과 함께 MATLAB을 시작할 수 있습니다.

 matlab -softwareopengl

렌더러 선택으로, 다음 중 하나로 지정됩니다.

  • 'auto' — MATLAB이 Figure의 그래픽스 객체의 크기와 복잡도에 따라 인쇄 및 화면 표시를 위한 렌더링 방법을 자동으로 선택합니다.

  • 'manual' — MATLAB이 Renderer 속성으로 지정된 렌더러를 사용합니다.

Renderer 속성을 'painters' 또는 'opengl'로 명시적으로 설정할 경우 MATLAB은 RendererMode 속성을 'manual'로 설정합니다.

참고

RendererMode 속성은 향후 릴리스에서 제거될 예정입니다. 자세한 내용은 버전 내역 항목을 참조하십시오.

좌표축 그래픽스 평활화로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

평활화로 좌표축 그래픽의 들쑥날쑥한 선을 좀 더 부드럽게 표현할 수 있습니다. MATLAB은 GraphicsSmoothing'on'으로 설정되어 있고 다음 조건 중 하나에 해당되면 좌표축 그래픽과 좌표축 눈금자에 평활화 기법을 적용합니다.

  • Renderer 속성이 'painters'으로 설정됩니다.

  • Renderer 속성이 'opengl'로 설정되어 있으며, 하드웨어 카드가 OpenGL을 지원합니다.

그래픽스 평활화그래픽스 평활화 없음

Axes graphic with smoothing. The plotted line appears smooth.

Axes graphic with no smoothing. The plotted line appears jagged.

(확대된 보기)

Zoomed-in view of axes graphic with smoothing. The pixels near the edge of the graphic gradually transition from the blue graphic color to the white background color.


(확대된 보기)

Zoomed-in view of axes graphic with no smoothing. The color of each pixel is either the blue graphic color or the white background color, with no gradual transition between the two.


좌표축 그래픽이 주로 가로선 또는 세로선으로 구성되어 있는 경우 GraphicsSmoothing 속성을 'on'으로 설정하고 선 AlignVertexCenters 속성을 'on'으로 설정하는 것이 좋습니다. 특히 이러한 그래픽스에서는 부드럽게 표현하는 평활화 기법으로 인해 선명도가 떨어질 수 있습니다.

그래픽스 평활화는 텍스트에는 아무런 효과가 없습니다. MATLAB은 GraphicsSmoothing 속성의 값에 관계없이 항상 텍스트를 부드럽게 표시합니다.

MATLAB Online에서는 GraphicsSmoothing 속성의 설정이 지원되지 않습니다.

참고

GraphicsSmoothing 속성은 향후 릴리스에서 제거될 예정입니다. 이 속성이 제거되면 모든 그래픽스가 부드럽게 표시됩니다.

인쇄 및 내보내기

모두 확장

인쇄하거나 저장할 때 페이지에서의 Figure 크기와 위치로, [left bottom width height] 형식의, 요소를 4개 가진 벡터로 지정됩니다.

  • left 값과 bottom 값 — 페이지의 왼쪽 아래 코너에서 Figure의 왼쪽 아래 코너까지의 거리를 제어합니다. 이 값은 PNG 형식이나 EPS 형식과 같이 페이지가 아닌 형식으로 Figure를 저장할 경우 무시됩니다.

  • width 값과 height 값 — Figure 크기를 제어합니다. 너비 값과 높이 값이 너무 큰 경우 Figure가 지정된 크기에 미치지 못할 수 있습니다. Figure가 특정 크기에 미치지 못할 경우 UI 컨트롤 또는 UI 테이블과 같은 Figure의 UI 구성요소가 예상한 대로 저장되거나 인쇄되지 않을 수 있습니다.

PaperUnits 속성은 PaperPosition 값의 측정 단위를 지정합니다. PaperUnits 속성을 'normalized'로 설정해 보십시오. 이 설정을 사용하면 MATLAB은 페이지 크기에 상관없이 인쇄되는 페이지와 동일한 상대적 크기를 갖도록 Figure 크기를 자동으로 지정하게 됩니다.

예: figure('PaperPosition',[.25 .25 8 6])은 출력할 Figure의 크기와 위치를 [.25 .25 8 6]으로 설정합니다.

인쇄하거나 저장할 때 표시되어 있는 Figure의 크기를 지정하기 위한 지시문으로, 'auto''manual' 중 하나로 지정됩니다.

  • 'auto' — 인쇄하거나 저장하는 Figure 크기가 표시된 Figure 크기와 일치합니다. PaperPosition 속성의 width 값과 height 값은 디스플레이의 Figure 크기와 같습니다. left 값과 bottom 값은 Figure를 가운데에 맞춥니다. 디스플레이의 Figure 크기가 변경되는 경우 PaperPosition 속성이 적절한 크기 값과 위치 값으로 자동 업데이트됩니다.

  • 'manual' — 인쇄하거나 저장하는 Figure 크기가 표시된 Figure 크기와 일치하지 않을 수 있습니다. 디스플레이와 다른 크기를 사용하여 Figure를 인쇄하거나 저장하려는 경우 또는 인쇄하거나 저장하는 페이지의 가운데에 Figure를 맞추지 않으려는 경우 이 옵션을 사용하십시오. PaperPosition 속성을 원하는 크기와 위치로 설정하십시오. 디스플레이의 Figure 크기가 변경되는 경우 PaperPosition 속성이 자동으로 업데이트되지 않습니다.

표시된 Figure와 동일한 크기와 해상도(DPI)를 가진 출력물을 생성하려면 Figure의 PaperPositionMode 속성을 'auto'로 설정하고 print-r0 옵션과 함께 사용하여 Figure를 저장하십시오. -r0 옵션을 사용하면 디스플레이 해상도와 동일한 출력 해상도를 얻을 수 있습니다. 해상도가 서로 다른 경우, 생성되는 출력물 크기와 표시된 Figure 크기는 측정 단위(인치, 센티미터, 포인트) 면에서는 일치하지만 픽셀 면에서는 다릅니다. 예를 들어, 디스플레이 해상도가 100dpi인 경우 4×5인치 Figure는 400×500 픽셀입니다(1인치 = 2.54cm). 출력 해상도가 200dpi인 경우, 인쇄하거나 저장하는 Figure는 인치 단위에서는 크기가 같지만 800×1000 픽셀이 됩니다.

참고

R2016a부터 디폴트 값은 'auto'입니다. 이전에는 디폴트 값이 'manual'이었습니다.

디폴트 값을 변경하려면 다음 기법 중 하나를 사용하십시오.

  • 인쇄 기본 설정을 지정합니다. 인쇄 기본 설정은 MATLAB 세션 전체에서 유지됩니다. 인쇄 기본 설정은 'auto''manual' 중 하나로 설정할 수 있습니다. 예를 들면, 다음과 같습니다.

    matlab.graphics.internal.setPrintPreferences('DefaultPaperPositionMode','manual')
    현재 인쇄 기본 설정 값을 쿼리하려면 다음 명령을 사용하십시오. 기본 설정을 지정한 경우 이 명령은 'auto''manual'을 반환합니다. 기본 설정을 지정하지 않은 경우 명령은 'unset'을 반환합니다.
    matlab.graphics.internal.getPrintPreferences

  • root 객체에서 디폴트 값을 설정합니다. 이 옵션은 현재 MATLAB 세션의 새 Figure에만 영향을 미칩니다. 예를 들면, 다음과 같습니다.

    set(groot,'defaultFigurePaperPositionMode','manual')

Figure를 인쇄하거나 페이징 형식(PDF 형식, PostScript® 형식)으로 저장할 때 사용자 지정 페이지 크기로, [width height] 형식의, 요소를 2개 가진 벡터로 지정됩니다. 미국의 경우 디폴트 값은 [8.5 11]입니다. 유럽과 아시아의 경우 디폴트 값은 [21 29.7]입니다.

참고

Figure를 파일에 저장하는 경우 PaperSize 속성은 PDF나 PostScript 파일 형식에만 영향을 미칩니다. 다른 파일 형식은 이 속성을 무시합니다. 저장하는 Figure의 크기를 제어하려면 PaperPosition 속성을 사용하십시오.

PaperUnits 속성은 PaperSize 속성의 측정 단위를 지정합니다. PaperUnits 속성이 'normalized'로 설정되어 있으면 PaperSize 속성을 설정할 수 없습니다. 이 때 속성을 설정하려고 하면 오류가 발생하게 됩니다.

PaperSize 속성을 지정하면 PaperType 속성이 대응하는 유형으로 설정(있는 경우)되거나 'custom'으로 설정(없는 경우)됩니다.

PaperSizePaperPosition에 사용되는 단위로, 다음 값 중 하나로 지정됩니다.

  • 'inches' — 인치 단위의 값입니다. 로캘이 미국인 경우의 디폴트값입니다.

  • 'normalized' — 정규화된 단위입니다. 페이지의 왼쪽 아래 코너가 (0,0)으로 매핑되고 오른쪽 위 코너가 (1,1)로 매핑됩니다.

  • 'centimeters' — 센터미터 단위의 값입니다. 로캘이 유럽이나 아시아인 경우의 디폴트값입니다.

  • 'points' — 포인트 단위의 값입니다. 1포인트는 1/72인치와 같습니다(1인치 = 2.54cm).

참고

PaperUnits 속성의 값을 변경하는 경우 계산을 완료한 후에 PaperUnits 속성이 변경되지 않은 것으로 간주되는 다른 함수에 영향을 미치지 않도록 해당 속성을 원래 값으로 복원하는 것이 좋습니다.

Figure를 인쇄하거나 페이징 형식(PDF 형식, PostScript 형식)으로 저장할 때 페이지의 방향으로, 다음 값 중 하나로 지정됩니다.

  • 'portrait' — 페이지를 세로 방향으로 지정합니다.

  • 'landscape' — 페이지를 가로 방향으로 지정합니다.

자세한 내용은 orient 함수를 참조하십시오.

참고

파일 > 다른 이름으로 저장을 사용할 때는 PDF 형식과 전체 페이지 PS 형식만 PaperOrientation 속성을 사용합니다. 다른 형식은 이러한 값을 무시합니다.

Figure를 인쇄하거나 페이징 형식(PDF 형식, PostScript 형식)으로 저장할 때 표준 페이지 크기로, 다음 표에 있는 값 중 하나로 지정됩니다. PaperType 속성을 지정하면 PaperSize 속성이 대응하는 페이지 크기로 설정됩니다.

페이지 크기(너비 x 높이)

'usletter'

8.5×11인치(미국의 디폴트 값)

'uslegal'

8.5×14인치

'tabloid'

11×17인치

'a0'

84.1×118.9cm

'a1'

59.4×84.1cm

'a2'

42×59.4cm

'a3'

29.7×42cm

'a4'

21×29.7cm(유럽과 아시아의 디폴트 값)

'a5'

14.8×21cm

'b0'

102.9×145.6cm

'b1

72.8×102.8cm

'b2'

51.4×72.8cm

'b3'

36.4×51.4cm

'b4'

25.7×36.4cm

'b5'

18.2×25.7cm

'arch-a'

9×12인치

'arch-b'

12×18인치

'arch-c'

18×24인치

'arch-d'

24×36인치

'arch-e'

36×48인치

'a'

8.5×11인치

'b'

11×17인치

'c'

17×22인치

'd'

22×34인치

'e'

34×43인치

'<custom>'

사용자 지정 페이지 크기입니다. PaperSize 속성을 사용하여 표준이 아닌 페이지 크기를 지정하면 PaperType이 이 값으로 설정됩니다.

인쇄하거나 저장할 때 Figure 배경색으로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

  • 'on' — Figure 배경색과 좌표축 배경색을 흰색으로 변경합니다. 생성된 출력값이 더 잘 보이도록 Figure의 텍스트 및 기타 특성의 색이 변경될 수도 있습니다.

  • 'off' — 디스플레이의 색과 동일한 색을 사용합니다. 디스플레이의 Figure 배경색을 변경하려면 Figure의 Color 속성을 사용하십시오. 좌표축 배경색을 변경하려면 좌표축의 Color 속성을 사용하십시오.

마우스 포인터

모두 확장

포인터 기호로, 다음 표에 나와 있는 값 중 하나 또는 'custom'으로 지정됩니다. 기호의 모양은 운영 체제에 따라 달라집니다.

결과로 표시되는 기호(시스템에 따라 다름)

'arrow'

Arrow mouse pointer symbol

'ibeam'

I-beam mouse pointer symbol

'crosshair'

Crosshair mouse pointer symbol

'watch'(작업 수행 중인 시스템)

Busy system mouse pointer symbol

'topl' 또는 'botr'

Bidirectional arrow mouse pointer symbol that points to the top left and to the bottom right

'topr' 또는 'botl'

Bidirectional arrow mouse pointer symbol that points to the top right and to the bottom left

'circle'

Circle mouse pointer symbol

'cross'

Cross mouse pointer symbol

'fleur'

Mouse pointer symbol with four arrows pointing up, right, down, and left

'left' 또는 'right'

Bidirectional arrow mouse pointer symbol that points to the left and right

'top' 또는 'bottom'

Bidirectional arrow mouse pointer symbol that points up and down

'hand'

Hand mouse pointer symbol

사용자 지정 포인터 기호

사용자 지정 포인터 기호를 만들려면 프로그래밍 방식으로 Pointer 속성을 'custom'으로 설정하고 PointerShapeCData 속성을 사용하여 기호를 정의하십시오. 자세한 내용은 PointerShapeCData 속성을 참조하십시오.

제한 사항

uihtml 함수로 만든 HTML UI 구성요소 위에는 Pointer 속성으로 지정된 포인터 기호가 표시되지 않습니다.

사용자 지정 포인터 기호로, 16×16 행렬(16×16 픽셀 포인터의 경우) 또는 32×32 행렬(32×32 픽셀 포인터의 경우)로 지정됩니다. Pointer 속성을 'custom'으로 설정할 경우 Figure는 이 포인터 기호를 사용합니다.

행렬의 각 요소는 포인터의 한 픽셀에 대한 밝기 수준을 정의합니다. 여기서 요소는 다음의 값 중 하나를 가질 수 있습니다.

  • 1 — 검은색 픽셀.

  • 2 — 흰색 픽셀.

  • NaN — 밑의 화면이 비쳐 보이는 투명 픽셀.

행렬의 요소 (1,1)은 포인터의 왼쪽 위 코너에 있는 픽셀에 해당합니다.

포인터의 활성 픽셀로, 요소를 2개 가진 벡터로 지정됩니다. 이 벡터는 원하는 활성 픽셀에 해당하는, PointerShapeCData 행렬의 특정 요소에 대한 행 인덱스와 열 인덱스를 포함합니다. 디폴트 값인 [1 1]은 포인터의 왼쪽 위 코너에 있는 픽셀에 해당합니다.

PointerShapeCData 행렬의 범위를 벗어난 값을 지정할 경우 포인터는 [1 1]의 디폴트 활성 픽셀을 대신 사용합니다.

이 속성은 Pointer 속성이 'custom'으로 설정된 경우에만 적용됩니다.

상호 작용

모두 확장

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

  • 'on' — 객체를 표시합니다.

  • 'off' — 객체를 삭제하지 않고 숨깁니다. 보이지 않는 UI 구성요소의 속성에 계속 액세스할 수 있습니다.

앱을 더 빨리 시작하려면 시작 시 나타날 필요가 없는 모든 구성요소에 대해 Visible 속성을 'off'로 설정하십시오.

보이지 않는 컨테이너의 크기를 변경하면 컨테이너가 표시될 때 SizeChangedFcn 콜백이 트리거됩니다.

컨테이너의 Visible 속성을 변경해도 자식 구성요소의 Visible 속성값은 변경되지 않습니다. 컨테이너를 숨겨서 자식 구성요소가 숨겨진 경우에도 마찬가지입니다.

현재 Figure의 대상 좌표축으로, Axes 객체, PolarAxes 객체 또는 HeatmapChart와 같은 그래픽스 객체로 지정됩니다.

axes 자식이 존재하는 모든 Figure에는 항상 현재 좌표축이 있습니다. 현재 좌표축은 제일 부모에 있는 axes가 아닐 수도 있으며, 좌표축을 현재 좌표축으로 설정하더라도 현재 좌표축이 다른 모든 좌표축의 부모로 바뀌는 건 아닙니다. Figure에 좌표축이 없으면 get(gcf,'CurrentAxes') 명령은 빈 배열을 반환합니다.

axes 객체가 없는 경우 강제로 생성하지 않고 CurrentAxes 속성을 쿼리하여 현재 axes 객체를 가져오십시오.

현재 객체로, Figure의 자식 객체로 반환됩니다. MATLAB은 CurrentObject 속성을 Figure에서 마지막으로 클릭된 객체로 설정합니다. 이 객체는 보기에서 제일 앞쪽에 표시되는 객체입니다.

자식 객체의 HitTest 속성은 객체가 CurrentObject가 될 수 있는지 여부를 제어합니다.

HandleVisibility 속성이 'off'로 설정된 객체를 클릭하면 CurrentObject 속성이 빈 GraphicsPlaceholder 배열로 설정됩니다. 사용자가 숨겨진 객체를 클릭할 때 빈 배열이 반환되지 않도록 하려면 숨겨진 객체의 HitTest 속성을 'off'로 설정하십시오.

이 속성의 값을 가져오기 위한 대안으로 gco 명령을 사용하십시오.

현재 점으로, 요소를 2개 가진 벡터로 반환됩니다. 이 벡터는 Figure의 좌측 하단 코너에서부터 측정한 마우스 포인터의 (x, y) 좌표를 포함합니다. 모든 값은 Units 속성으로 지정된 단위로 표시됩니다.

다음 중 하나를 수행하면 좌표가 업데이트됩니다.

  • Figure 안에서 마우스 버튼을 누릅니다.

  • Figure 안에서 마우스 버튼을 누른 뒤에 마우스 버튼을 놓습니다.

  • Figure 안에서 마우스 버튼을 누른 뒤에 Figure 밖에서 마우스 버튼을 놓습니다.

  • Figure 안에서 스크롤 휠을 회전합니다.

  • WindowButtonMotionFcn 속성이 비어 있지 않다는 전제 하에 Figure 안에서 (버튼을 누르지 않은 채로) 마우스를 움직입니다.

Figure에 마우스 조작에 반응하는 콜백이 있고 시스템이 코드를 실행하는 데 걸리는 시간보다 빠르게 사용자가 콜백을 트리거하면 좌표값이 포인터의 실제 위치를 반영하지 않을 수 있습니다. 대신, 콜백이 실행을 시작했을 때의 위치를 반영할 수 있습니다.

CurrentPoint 속성을 사용하여 점을 플로팅하는 경우 좌표값에 반올림 오차가 포함될 수 있습니다.

현재 문자로, 마지막으로 누른 키의 문자로 반환됩니다. 이 속성은 Figure에 포커스가 있을 때 사용자가 키를 누른 경우에만 업데이트됩니다.

참고

Selected 속성의 동작은 R2014b에서 변경되었으며, 권장되지 않습니다. 이 속성은 더 이상 이 유형의 객체에 아무런 영향을 미치지 않습니다. 이 속성은 향후 릴리스에서 제거될 수도 있습니다.

참고

SelectionHighlight 속성 사용은 권장되지 않습니다. 이 속성은 Figure에 아무런 영향을 미치지 않습니다. 이 속성은 향후 릴리스에서 제거될 수도 있습니다.

마우스 선택 유형으로, 'normal', 'extend', 'alt' 또는 'open'으로 반환됩니다. 이 속성은 Figure에서 마지막으로 발생한 마우스 버튼 눌림에 대한 정보를 제공합니다.

다음 표에서는 가능한 SelectionType 값과 이러한 값을 만드는 사용자 동작을 보여줍니다.

대응하는 동작

'normal'

마우스 왼쪽 버튼을 클릭합니다.

'extend'

다음 동작 중 하나입니다.

  • Shift 키를 클릭한 상태에서 마우스 왼쪽 버튼을 클릭합니다.

  • 마우스 가운데 버튼을 클릭합니다.

  • 마우스 왼쪽 버튼과 마우스 오른쪽 버튼을 모두 클릭합니다.

'alt'

다음 중 하나:

  • Control 키를 클릭한 상태에서 마우스 왼쪽 버튼을 클릭합니다.

  • 마우스 오른쪽 버튼을 클릭합니다.

'open'

마우스 버튼을 더블 클릭합니다.

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

일반 콜백

모두 확장

버튼 누름 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백은 사용자가 Figure의 빈 영역을 클릭할 때마다 실행됩니다.

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

SelectionType 속성을 사용하여 사용자가 보조키를 눌렀는지 확인합니다.

구성요소 생성 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

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

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

생성되는 구성요소 객체를 가져오려면 CreateFcn 코드에서 gcbo 함수를 사용하십시오.

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

구성요소 삭제 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

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

DeleteFcn 속성은 MATLAB이 구성요소를 삭제할 때(예: 사용자가 창을 닫을 때) 실행할 콜백 함수를 지정합니다. MATLAB은 구성요소 객체의 속성을 삭제하기 전에 DeleteFcn 콜백을 실행합니다. DeleteFcn 속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.

삭제되는 구성요소 객체를 가져오려면 DeleteFcn 코드에서 gcbo 함수를 사용하십시오.

키보드 콜백

모두 확장

키 누름 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백 함수는 Figure 또는 자식 객체에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다. 사용자가 UIControl 또는 Table 구성요소에서 키를 누르면, Enable 속성이 'off' 또는 'inactive'로 설정된 경우에만 콜백이 실행됩니다.

사용자가 거의 동시에 여러 개의 키를 누를 경우 MATLAB은 모든 키를 감지합니다.

KeyPressFcn 콜백은 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData 객체에 전달합니다. 다음 표에는 이 객체의 속성이 나열되어 있습니다.

속성설명

예제:

  

a

=

Shift

Shift-a

Character

키 누름의 결과로 표시되는 문자.

특정 키 또는 보조키를 Ctrl 키와 함께 누르면 출력할 수 없는 문자가 이 속성에 반환될 수 있습니다.

특정 키를 단독으로 누르면(예: Ctrl, Alt, Shift) Character 데이터가 생성되지 않습니다.

'a''=''''A'
Modifier

눌린 보조키(예: 'control', 'alt', 'shift')의 이름을 포함하는 셀형 배열. 눌린 보조키가 없으면 이 셀형 배열은 비어 있습니다.

{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key

눌린 키로, 키 또는 설명 단어(예: 'pageup')의 소문자 레이블(예: 'space')로 식별됩니다.

'a''equal''shift''a'
Source키가 눌릴 때 포커스가 있는 객체.Figure 객체Figure 객체Figure 객체Figure 객체
EventName콜백 함수가 실행되도록 만든 동작.'KeyPress''KeyPress''KeyPress''KeyPress'

KeyPressFcn 콜백은 라이브 편집기에서 지원되지 않습니다.

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.

CurrentCharacter 속성은 문자 정보도 반환합니다.

키 해제 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백 함수는 Figure 또는 자식 객체에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다. 사용자가 UIControl 또는 Table 구성요소에서 키를 놓으면, Enable 속성이 'off' 또는 'inactive'로 설정된 경우에만 콜백이 실행됩니다.

KeyReleaseFcn 콜백은 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData 객체에 전달합니다. 다음 표에는 이 객체의 속성이 나열되어 있습니다.

속성설명

예제:

  

a

=

Shift

Shift-a

Character

눌린 상태에서 해제되는 키에 대응하는 문자.

특정 키 또는 보조키를 Ctrl 키와 함께 누르면 출력할 수 없는 문자가 이 속성에 반환될 수 있습니다.

특정 키를 단독으로 누르거나 눌린 상태에서 해제하면(예: Ctrl, Alt, Shift) Character 데이터가 생성되지 않습니다.

'a''=''''A'
Modifier

눌린 보조키(예: 'control', 'alt', 'shift')의 이름을 포함하는 셀형 배열. 눌린 상태에서 해제되는 보조키가 없으면 이 셀형 배열은 비어 있습니다.

{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key

해제된 키로, 키 또는 설명 단어(예: 'pageup')의 소문자 레이블(예: 'space')로 식별됩니다.

'a''equal''shift''a'
Source키가 눌린 상태에서 해제될 때 포커스가 있는 객체.Figure 객체Figure 객체Figure 객체Figure 객체
EventName콜백 함수가 실행되도록 만든 동작.'KeyRelease''KeyRelease''KeyRelease''KeyRelease'

KeyReleaseFcn 콜백은 라이브 편집기에서 지원되지 않습니다.

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.

창 콜백

모두 확장

닫기 요청 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

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

이 콜백은 사용자가 Figure 창을 닫으려고 시도할 때마다 실행됩니다. 예를 들어, 사용자에게 닫기 작업을 확인할지, 취소할지 묻는 대화 상자를 표시하거나 사용자가 UI가 포함된 Figure를 닫지 못하게 할 수 있습니다.

기본 메커니즘은 다음과 같습니다.

  1. 사용자가 명령줄에서 close 또는 close all 명령을 실행하고 컴퓨터의 창 관리자 메뉴에서 Figure를 닫거나, MATLAB을 종료하여 Figure를 닫습니다.

  2. 닫기 작업이 Figure에 대해 CloseRequestFcn 속성으로 정의된 함수를 실행합니다. 디폴트 값은 'closereq'입니다. 'closereq' 작업은 Figure를 무조건 삭제하고 창을 제거합니다.

닫기 요청 함수가 delete 또는 close 함수를 호출하지 않으면 MATLAB은 Figure를 닫지 않습니다. (비소거식 닫기 요청 함수를 사용하여 창을 만든 경우 명령줄에서 delete(f)를 호출할 수 있습니다.)

예제: 대화 상자를 표시하도록 CloseRequestFcn 코딩하기

이 예제에서는 닫기 작업에 대한 확인을 묻는 질문 대화 상자를 표시하도록 닫기 요청 함수를 코딩하는 방법을 보여줍니다. 코드를 시스템의 쓰기 가능한 폴더에 저장합니다.

function my_closereq(src,event)
% Close request function 
% to display a question dialog box 
selection = questdlg('Close This Figure?', ...
    'Close Request Function', ...
    'Yes','No','Yes'); 
switch selection 
    case 'Yes'
        delete(gcf)
    case 'No'
        return 
end
end

이제 다음과 같이 CloseRequestFcn에 대해 my_closereq를 지정하여 Figure를 생성합니다. 함수 핸들이 명시적으로 어떤 입력 인수도 참조하지 않지만 함수 선언에 2개의 입력 인수가 포함된 것을 알 수 있습니다. MATLAB은 콜백을 실행할 때 이 인수를 자동으로 전달합니다. 첫 번째 인수는 콜백을 트리거한 UI 구성요소이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.

figure('CloseRequestFcn',@my_closereq)

Figure 창을 닫으면 질문 대화 상자가 표시됩니다.

크기 변경 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 컨테이너의 크기가 변경될 때(예: 사용자가 창 크기를 조정할 때) 앱 레이아웃을 사용자 지정하려면 이 콜백을 정의하십시오.

SizeChangedFcn 콜백은 다음의 경우에 실행됩니다.

  • 이 컨테이너가 처음으로 표시되는 경우.

  • 크기를 변경하는 동안 이 컨테이너가 표시되는 경우.

  • 크기 변경 후 이 컨테이너가 처음으로 표시되는 경우. 이런 상황은 컨테이너가 표시되지 않는 동안 크기가 변경되고 그런 다음 이 객체가 나중에 표시될 때 발생합니다.

SizeChangedFcn 콜백을 정의할 때 고려해야 할 기타 중요 사항은 다음과 같습니다.

  • SizeChangedFcn을 사용하는 모든 변수가 정의될 때까지 이 컨테이너가 표시되는 것을 지연하는 것이 좋습니다. 이렇게 하면 SizeChangedFcn 콜백에서 오류가 반환되는 것을 방지할 수 있습니다. 컨테이너가 표시되는 것을 지연하려면 해당 Visible 속성을 'off'로 설정하십시오. 그런 다음, SizeChangedFcn 콜백이 사용하는 변수를 정의한 후에 Visible 속성을 'on'으로 설정하십시오.

  • 앱에 중첩된 컨테이너가 포함되어 있는 경우 해당 컨테이너는 안에서 밖으로 크기 조정됩니다.

  • SizeChangedFcn 내에서 크기 조정되는 컨테이너에 액세스하려면 소스 객체(콜백의 첫 번째 입력 인수)를 참조하거나 gcbo 함수를 사용하십시오.

SizeChangedFcn 콜백을 지정하는 방식의 간편한 대안으로서 컨테이너 내부에 넣는 모든 객체의 Units 속성을 'normalized'로 설정할 수 있습니다. 이렇게 하면 해당 구성요소가 컨테이너와 비례하여 크기 조정됩니다.

예: 일정한 높이를 가진 필드 편집하기

SizeChangedFcn 콜백을 사용하여 UI 구성요소의 크기를 제약합니다. 예를 들어, 다음 코드는 창의 맨 위에 편집 필드가 있는 UI를 만듭니다. 사용자가 창 크기를 조정할 때 sbar 함수가 창 높이를 20픽셀로 제한합니다. 또한 이 함수는 편집 필드의 너비를 Figure의 너비로 설정합니다. 점 표기법을 사용하여 속성을 설정하고 쿼리합니다.

function myui
f = figure('Visible','off','SizeChangedFcn',@sbar); 
u = uicontrol('Style','edit','Tag','StatusBar');
f.Visible = 'on';

    function sbar(src,event)
       old_units = src.Units;
       src.Units = 'pixels';
       sbar_units = u.Units;
       u.Units = 'pixels';
       fpos = src.Position;
       upos = [1 fpos(4) - 20 fpos(3) 20];
       u.Position = upos;
       u.Units = sbar_units;
       src.Units = old_units;
       u.Visible = 'on';
    end
end

sbar에 대한 함수 핸들이 명시적으로 어떤 입력 인수도 참조하지 않지만 함수 선언에 2개의 입력 인수가 포함된 것을 알 수 있습니다. MATLAB은 콜백을 실행할 때 이 인수를 자동으로 전달합니다. 첫 번째 인수는 콜백을 트리거한 UI 구성요소이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.

창 버튼 누름 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백은 사용자가 Figure 또는 자식 객체의 아무 곳이나 클릭할 때 실행됩니다. 사용자가 UIControl 또는 Table 구성요소를 클릭하면, Enable 속성이 'off' 또는 'inactive'로 설정된 경우에만 콜백이 실행됩니다.

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

창 버튼 동작 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

일반적으로 이 콜백 함수는 사용자가 Figure 안에서 포인터를 이동할 때마다 실행됩니다. 그러나 사용자가 마우스 버튼을 클릭하여 누른 채 Figure 밖으로 포인터를 이동하면, WindowButtonMotionFcn 콜백은 포인터가 Figure 밖에 있는 동안에 호출됩니다.

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

예제: 간단한 그리기 앱

이 예제에서는 WindowButtonMotionFcn 콜백을 사용하는 그리기 앱을 만드는 방법을 보여줍니다. 다음 코드를 복사하여 편집기에 붙여넣고 실행합니다. 그런 다음 마우스를 사용하여 여러 개의 연결된 선분을 그립니다.

  • 좌표축 안쪽을 클릭하고 끌어서 첫 번째 선분을 그립니다.

  • 한 번 더 클릭하여 이 선분의 앵커 점을 정의합니다.

  • 마우스를 움직여 선분을 하나 추가합니다.

  • 마우스 오른쪽 버튼을 클릭하여 그리기 모드를 종료합니다.

function drawing_app
figure('WindowButtonDownFcn',@wbdcb)
ah = axes('SortMethod','childorder');
axis ([1 10 1 10])
title('Click and drag')
   function wbdcb(src,event)
     seltype = src.SelectionType;
     if strcmp(seltype,'normal')
        src.Pointer = 'circle';
        cp = ah.CurrentPoint;
        xinit = cp(1,1);
        yinit = cp(1,2);
        hl = line('XData',xinit,'YData',yinit,...
        'Marker','p','color','b');
        src.WindowButtonMotionFcn = @wbmcb;
        src.WindowButtonUpFcn = @wbucb;
     end    
 
        function wbmcb(src,event)
           cp = ah.CurrentPoint;
           xdat = [xinit,cp(1,1)];
           ydat = [yinit,cp(1,2)];
           hl.XData = xdat;
           hl.YData = ydat;
           drawnow
        end
   
        function wbucb(src,event)
           last_seltype = src.SelectionType;
           if strcmp(last_seltype,'alt')
              src.Pointer = 'arrow';
              src.WindowButtonMotionFcn = '';
              src.WindowButtonUpFcn = '';
           else
              return
           end
        end
  end
end

콜백 함수 핸들이 명시적으로 어떤 입력 인수도 참조하지 않지만 함수 선언에 2개의 입력 인수가 포함된 것을 알 수 있습니다. MATLAB은 콜백을 실행할 때 이 인수를 자동으로 전달합니다. 첫 번째 인수는 콜백을 트리거한 UI 구성요소이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.

창 버튼 놓음 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백은 사용자가 Figure 또는 자식 객체의 아무 곳에서나 눌린 상태의 마우스 버튼을 놓을 때 실행됩니다. 사용자가 UIControl 또는 Table 구성요소에서 마우스 버튼을 놓으면, Enable 속성이 'off' 또는 'inactive'로 설정된 경우에만 콜백이 실행됩니다.

버튼 놓음 동작은 Figure의 버튼 누름 동작과 연결됩니다. 버튼 누름 동작이 발생할 때는 마우스 포인터가 Figure 안에 있어야 하지만, 버튼 놓음 동작이 발생할 때는 Figure 밖에 있어도 됩니다.

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

창 키 누름 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백 함수는 Figure 또는 자식 객체에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다.

이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData 객체에 전달합니다. 다음 표에는 이 객체의 속성이 나열되어 있습니다.

속성설명

예제:

  

a

=

Shift

Shift-a

Character

키 누름의 결과로 표시되는 문자.

특정 키 또는 보조키를 Ctrl 키와 함께 누르면 출력할 수 없는 문자가 이 속성에 반환될 수 있습니다.

특정 키를 단독으로 누르면(예: Ctrl, Alt, Shift) Character 데이터가 생성되지 않습니다.

'a''=''''A'
Modifier

눌린 보조키(예: 'control', 'alt', 'shift')의 이름을 포함하는 셀형 배열. 눌린 보조키가 없으면 이 셀형 배열은 비어 있습니다.

{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key

눌린 키로, 키 또는 설명 단어(예: 'pageup')의 소문자 레이블(예: 'space')로 식별됩니다.

'a''equal''shift''a'
Source키가 눌릴 때 포커스가 있는 객체.Figure 객체Figure 객체Figure 객체Figure 객체
EventName콜백 함수가 실행되도록 만든 동작.'WindowKeyPress''WindowKeyPress''WindowKeyPress''WindowKeyPress'

WindowKeyPressFcn 콜백은 라이브 편집기에서 지원되지 않습니다.

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.

창 키 해제 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백 함수는 Figure 또는 자식 객체에 포커스가 있는 동안 사용자가 눌린 상태의 키를 해제하면 실행됩니다.

이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData 객체에 전달합니다. 다음 표에는 이 객체의 속성이 나열되어 있습니다.

속성설명

예제:

  

a

=

Shift

Shift-a

Character

눌린 상태에서 해제되는 키에 대응하는 문자.

특정 키 또는 보조키를 Ctrl 키와 함께 누르면 출력할 수 없는 문자가 이 속성에 반환될 수 있습니다.

특정 키를 단독으로 누르거나 눌린 상태에서 해제하면(예: Ctrl, Alt, Shift) Character 데이터가 생성되지 않습니다.

'a''=''''A'
Modifier

눌린 보조키(예: 'control', 'alt', 'shift')의 이름을 포함하는 셀형 배열. 눌린 상태에서 해제되는 보조키가 없으면 이 셀형 배열은 비어 있습니다.

{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key

해제된 키로, 키 또는 설명 단어(예: 'pageup')의 소문자 레이블(예: 'space')로 식별됩니다.

'a''equal''shift''a'
Source키가 눌린 상태에서 해제될 때 포커스가 있는 객체.Figure 객체Figure 객체Figure 객체Figure 객체
EventName콜백 함수가 실행되도록 만든 동작.'WindowKeyRelease''WindowKeyRelease''WindowKeyRelease''WindowKeyRelease'

WindowKeyReleaseFcn 콜백은 라이브 편집기에서 지원되지 않습니다.

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.

창 스크롤 휠 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백은 Figure 또는 자식에 포커스가 있는 동안 사용자가 스크롤 휠을 움직일 때 실행됩니다. 단, 다른 객체가 스크롤 휠의 움직임을 캡처하여 이 콜백의 실행을 방해할 수 있습니다.

이 콜백을 실행해도 CurrentObject 속성과 SelectionType 속성에는 영향을 미치지 않습니다.

WindowScrollWheelFcn 콜백은 사용자가 스크롤 휠을 회전할 때 특정 정보에 액세스할 수 있습니다. MATLAB은 ScrollWheelData 객체의 이 정보를 콜백 함수에 대한 두 번째 인수로 전달합니다. 다음 표에는 ScrollWheelData 객체 속성이 나열되어 있습니다.

속성

내용

VerticalScrollCount

스크롤 휠 클릭의 방향과 횟수를 나타내는 양수 또는 음수. 아래로 스크롤하면 양수 값이 반환됩니다. 위로 스크롤하면 음수 값이 반환됩니다.

수직 스크롤 횟수는 콜백이 마지막으로 실행된 이후 발생한 모든 스크롤 휠 클릭의 합입니다. 일반적으로 이 값은 1 또는 -1입니다. WindowScrollWheelFcn 콜백이 반환되는 데 시간이 오래 걸리거나 사용자가 스크롤 휠을 매우 빠르게 돌리면 스크롤 횟수는 매우 큰 값이 될 수 있습니다.

VerticalScrollAmount

스크롤 휠의 각 클릭에 대해 스크롤되는 라인 수. 일반적으로 이 값은 3이지만, 일부 시스템에서는 마우스의 구성에 따라 다른 값을 반환할 수도 있습니다.

Source

콜백을 실행하는 객체.

EventName'WindowScrollWheel'

WindowScrollWheelFcn 콜백은 라이브 편집기에서 지원되지 않습니다.

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.

예제: x축 제한을 변경하는 앱

이 예제에서는 플롯을 표시하는 앱을 만드는 방법을 보여줍니다. 사용자는 스크롤 휠로 스크롤하여 x축의 제한을 변경할 수 있습니다. 다음 코드를 복사하여 편집기에 붙여넣고 실행합니다.

function scroll_wheel
% Shows how to use WindowScrollWheelFcn property
%
   f = figure('WindowScrollWheelFcn',@figScroll,'Name','Scroll Wheel Demo');
   x = [0:.1:40];
   y = 4.*cos(x)./(x+2);
   a = axes; 
   h = plot(x,y);
   title('Rotate the scroll wheel')

   function figScroll(src,event)
      if event.VerticalScrollCount > 0 
         xd = h.XData;
         inc = xd(end)/20;
         x = [0:.1:xd(end)+inc];
         re_eval(x)
      elseif event.VerticalScrollCount < 0 
         xd = h.XData;
         inc = xd(end)/20;
         x = [0:.1:xd(end)-inc+.1]; % Don't let xd = 0;
         re_eval(x)
      end
   end

   function re_eval(x)
      y = 4.*cos(x)./(x+2);
      h.YData = y;
      h.XData = x;
      a.XLim = [0 x(end)];
      drawnow
   end
end

figScroll에 대한 함수 핸들이 명시적으로 어떤 입력 인수도 참조하지 않지만 함수 선언에 2개의 입력 인수가 포함된 것을 알 수 있습니다. MATLAB은 콜백을 실행할 때 이 인수를 자동으로 전달합니다. 첫 번째 인수는 콜백을 트리거한 UI 구성요소이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.

크기 조정 콜백 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

ResizeFcn 콜백은 라이브 편집기에서 지원되지 않습니다.

참고

ResizeFcn 속성 사용은 권장되지 않습니다. 이 속성은 향후 릴리스에서 제거될 수도 있습니다. SizeChangedFcn을 대신 사용하십시오.

데이터형: function_handle | cell | char

콜백 실행 컨트롤

모두 확장

콜백 중단으로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

Interruptible 속성은 실행중 콜백을 중단할 수 있는지 여부를 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.

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

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

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

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

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

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

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

참고

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

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

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

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

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

Interruptible 속성과 BusyAction 속성이 어떻게 프로그램의 동작에 영향을 미치는지를 보여주는 예제를 보려면 콜백 실행 중단하기 항목을 참조하십시오.

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

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

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

인터럽트 콜백의 소스의 BusyAction 속성에 따라 MATLAB의 콜백 실행 처리 방법이 지정됩니다. BusyAction 속성은 다음과 같은 값을 갖습니다.

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

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

MATLAB이 콜백을 불러올 때마다 이 콜백은 항상 실행 중인 콜백을 중단하려고 시도합니다. 콜백이 실행 중인 객체의 Interruptible 속성에 따라 중단이 허용되는지 여부가 결정됩니다. Interruptible은 다음 중 하나로 설정됩니다.

  • on — MATLAB이 대기열을 처리하는 다음 지점에서 중단이 발생합니다. 이는 디폴트 값입니다.

  • off — 인터럽트 콜백을 소유한 객체의 BusyAction 속성에 따라 MATLAB이 인터럽트 콜백을 대기열에 넣을지 또는 무시할지가 결정됩니다.

BusyAction 속성과 Interruptible 속성이 어떻게 프로그램의 동작에 영향을 미치는지를 보여주는 예제를 보려면 콜백 실행 중단하기 항목을 참조하십시오.

현재 객체가 될 수 있는 기능으로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

  • 'on' — 사용자가 실행 중인 앱의 구성요소를 클릭하면 현재 객체를 Figure로 설정합니다. FigureCurrentObject 속성과 gco 함수는 둘 다 Figure를 현재 객체로 반환합니다.

  • 'off' — 사용자가 실행 중인 앱의 Figure를 클릭할 때 현재 객체를 업데이트하지 않습니다.

읽기 전용 속성입니다.

삭제 상태로, matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 반환됩니다.

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

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

부모/자식

모두 확장

Figure 부모로, root 객체로 반환됩니다.

Figure의 자식으로, 빈 GraphicsPlaceholder나 객체로 구성된 1차원 배열로 반환됩니다.

Children 속성을 사용해서는 자식을 추가하거나 제거할 수 없습니다. 자식의 목록을 보거나 자식을 재정렬하려면 이 속성을 사용하십시오. 자식의 순서는 화면에서 구성요소의 쌓임 순서(앞-뒤)를 반영합니다. MATLAB은 특정 객체의 순서 변경을 허용하지 않을 수 있습니다. 예를 들어, UIControl 객체와 Legend 객체는 항상 Axes 객체 앞에 옵니다.

이 목록에 자식을 추가하려면 자식 구성요소의 Parent 속성을 Figure 객체로 설정하십시오.

HandleVisibility 속성이 'off'로 설정된 객체는 Children 속성에 나열되지 않습니다.

figure 객체의 가시성으로, 'on', 'callback' 또는 'off'로 지정됩니다.

이 속성은 figure 객체가 자식의 부모(루트) 목록에 있는지 여부를 확인합니다. HandleVisibility는 명령줄 사용자가 실수로 사용자 인터페이스 구성요소만 포함된 Figure(예: 대화 상자)에 그리기를 하거나 이러한 Figure를 삭제하지 못하도록 방지하는 데 유용합니다.

객체가 자식의 부모 목록에 없는 경우, 객체 계층 구조를 검색하거나 속성을 쿼리하여 객체를 찾는 함수는 해당 객체를 반환할 수 없습니다. 이러한 함수로는 get, findobj, gca, gcf, gco, newplot, cla, clf, close가 있습니다.

HandleVisibility 속성값이 'callback' 설정이나 'off' 설정을 사용하여 제한된 경우 객체는 부모 객체의 Children 속성에 나타나지 않고, Figure는 루트 CurrentFigure 속성에 나타나지 않으며, 객체는 루트 CallbackObject 속성이나 Figure의 CurrentObject 속성에 나타나지 않고, 좌표축은 부모의 CurrentAxes 속성에 나타나지 않습니다.

루트 ShowHiddenHandles 속성을 'on'으로 설정하여 해당 HandleVisibility 설정에 상관없이 모든 객체가 표시되도록 할 수 있습니다(이는 HandleVisibility 속성값에는 영향을 주지 않음).

식별자

모두 확장

Figure의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: figure('Name','Results')는 Figure의 이름을 'Results'로 설정합니다.

기본적으로 이 이름은 'Figure n'이며, 여기서 n은 정수입니다. Name 속성을 지정하면 Figure의 제목이 'Figure n: name'이 됩니다. Name 값만 표시하려면 IntegerHandle이나 NumberTitle'off'로 설정하십시오.

읽기 전용 속성입니다.

Figure의 번호로, 정수 또는 빈 배열로 반환됩니다. 이 값을 사용하여 Figure를 지칭할 수 있습니다. 예를 들어, figure(2)Number 속성값이 2인 Figure를 현재 Figure로 만듭니다.

IntegerHandle 속성을 'off'로 지정하면 Number 속성은 빈 값이 됩니다.

IntegerHandle'on'인 경우 Number 속성은 정수입니다. Figure를 삭제하면 MATLAB은 이 숫자를 다음 Figure에 재사용합니다.

번호 제목으로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

이 속성을 'on'으로 설정할 경우 Figure의 제목에 'Figure n'이라는 구가 포함됩니다. 여기서 nNumber 속성의 값입니다.

제목에 숫자를 표시하려면 NumberTitleIntegerHandle을 모두 'on'으로 설정해야 합니다.

정수 핸들 사용 여부로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

IntegerHandle 속성을 'on'으로 설정할 경우 MATLAB은 기존 Figure가 사용하지 않는 가장 낮은 정수 값을 찾아 Number 속성을 이 값으로 설정합니다. Figure를 삭제할 경우 MATLAB은 새 Figure에서 이 번호를 재사용할 수 있습니다.

IntegerHandle 속성을 'off'로 설정하면 MATLAB은 Figure에 정수 값을 할당하지 않고 Number 속성을 빈 배열로 설정합니다.

제목 표시줄에 Figure 번호를 표시하려면 IntegerHandleNumberTitle을 모두 'on'으로 설정해야 합니다.

Figure를 저장하기 위한 파일 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. GUIDE는 이 속성을 사용하여 이 속성에서 저장하는 UI 레이아웃 파일의 이름을 저장합니다.

예: figure('FileName','myfile.fig')는 파일 이름을 myfile.fig로 설정합니다.

읽기 전용 속성입니다.

Figure 객체의 유형으로, 'figure'로 반환됩니다. 플로팅 계층 구조에서 지정된 유형의 객체를 모두 찾으려면 이 속성을 사용하십시오.

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

사용자 데이터로, 임의의 배열로 지정됩니다. UserData를 지정하면 앱 내에서 데이터를 공유하는 데 유용할 수 있습니다. 자세한 내용은 콜백 간 데이터 공유하기 항목을 참조하십시오.

버전 내역

R2006a 이전에 개발됨

모두 확장

참고 항목

| |