Figure 속성
Figure 창의 모양과 동작 제어
Figure는 그래픽스 또는 사용자 인터페이스 컴포넌트의 컨테이너입니다. Figure 속성은 Figure의 특정 인스턴스의 모양과 동작을 제어합니다. Figure의 특성을 수정하려면 속성값을 변경하십시오. 점 표기법을 사용하여 속성을 쿼리하고 설정합니다.
f = figure; u = f.Units; f.Units = 'inches';
uifigure
함수로 만든 Figure에 대해서는 UI Figure 속성 항목을 대신 참조하십시오.
창 모양
MenuBar
— Figure 메뉴 모음 표시
'figure'
(디폴트 값) | 'none'
Figure 메뉴 모음 표시로, 'figure'
나 'none'
으로 지정됩니다. MenuBar
속성을 사용하면 Figure 창의 맨 위에 디폴트 메뉴를 표시하거나 숨길 수 있습니다. 메뉴 모음을 표시하려면 'figure'
를 지정하십시오. 숨기려면 'none'
을 지정하십시오.
이 속성은 디폴트 메뉴에만 영향을 미치며 uimenu
명령을 사용하여 정의된 메뉴에는 영향을 미치지 않습니다.
WindowStyle
속성이 'Modal'
로 설정된 Figure에는 메뉴 모음이 나타나지 않습니다. uimenu 자식을 포함하는 Figure가 'Modal'
로 변경될 경우에도 menu 자식은 Figure의 Children
속성에 여전히 존재합니다. 그러나 WindowStyle
이 'Modal'
로 설정된 경우에는 menu가 표시되지 않습니다.
참고
Figure에 디폴트 메뉴를 표시하지 않으려면 Figure를 만들 때 이 속성을 'none'
으로 설정하십시오.
ToolBar
— Figure 도구 모음 표시
'auto'
(디폴트 값) | 'figure'
| 'none'
Figure 도구 모음 표시로, 다음 중 하나로 지정됩니다.
'auto'
—MenuBar
속성과 동일한 값을 사용합니다.'figure'
— 도구 모음이 표시됩니다.'none'
— 도구 모음이 표시되지 않습니다.
이 속성은 디폴트 도구 모음에만 영향을 미칩니다. 카메라 도구 모음이나 플롯 편집 도구 모음 등의 다른 도구 모음에는 영향을 주지 않습니다. Figure 보기 메뉴에서 Figure 도구 모음을 선택하면 이 속성이 'figure'
로 설정됩니다.
WindowStyle
속성이 'Modal'
로 설정된 Figure에는 도구 모음이 나타나지 않습니다. 도구 모음을 포함하는 Figure가 'Modal'
로 변경될 경우에도 도구 모음 자식은 Figure의 Children
속성에 여전히 존재합니다. 그러나 WindowStyle
이 'Modal'
로 설정된 경우에는 도구 모음이 표시되지 않습니다.
참고
디폴트 도구 모음을 숨기려면 Figure를 만들 때 이 속성을 'none'
으로 설정하십시오.
DockControls
— 대화형 방식의 Figure 도킹
'on'
(디폴트 값) | 'off'
대화형 방식의 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
속성의 설정이 지원되지 않습니다.
Color
— 배경색
RGB 3색 | 16진수 색 코드 | 'r'
| 'g'
| 'b'
| ...
배경색으로, 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" | |
"green" | "g" | [0 1 0] | "#00FF00" | |
"blue" | "b" | [0 0 1] | "#0000FF" | |
"cyan" | "c" | [0 1 1] | "#00FFFF" | |
"magenta" | "m" | [1 0 1] | "#FF00FF" | |
"yellow" | "y" | [1 1 0] | "#FFFF00" | |
"black" | "k" | [0 0 0] | "#000000" | |
"white" | "w" | [1 1 1] | "#FFFFFF" | |
"none" | 해당 없음 | 해당 없음 | 해당 없음 | 색 없음 |
다음은 MATLAB이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.
RGB 3색 | 16진수 색 코드 | 모양 |
---|---|---|
[0 0.4470 0.7410] | "#0072BD" | |
[0.8500 0.3250 0.0980] | "#D95319" | |
[0.9290 0.6940 0.1250] | "#EDB120" | |
[0.4940 0.1840 0.5560] | "#7E2F8E" | |
[0.4660 0.6740 0.1880] | "#77AC30" | |
[0.3010 0.7450 0.9330] | "#4DBEEE" | |
[0.6350 0.0780 0.1840] | "#A2142F" |
데이터형: double
| char
WindowStyle
— 창 스타일
'normal'
(디폴트 값) | 'modal'
| 'docked'
창 스타일로, 다음 중 하나로 지정됩니다.
'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'
로 재설정하면 메뉴가 표시됩니다.
WindowState
— 창 상태
'normal'
(디폴트 값) | 'minimized'
| 'maximized'
| 'fullscreen'
창 상태로, 다음 값 중 하나로 지정됩니다.
'normal'
— 창이 보통 상태로 표시됩니다.'minimized'
— 창이 축소되어 있으나, 창에서 계속 명령을 실행하여 속성을 가져오거나 설정하고, 자식을 추가하거나, 플롯을 만들 수 있습니다.'maximized'
— 창이 화면 전체를 채웁니다. 운영 체제에서 제공되는 최소화, 복원, 닫기 버튼은 창의 코너에 표시됩니다. 창의 메뉴와 도구 모음이 보통 상태에서 제공될 경우, 이러한 버튼도 보통 상태에서 표시됩니다.'fullscreen'
— 창이 화면 전체를 채웁니다. 그러나 운영 체제에서 제공되는 최소화, 복원, 닫기 버튼은 숨겨집니다. 창의 메뉴와 도구 모음이 보통 상태에서 제공될 경우, 이러한 버튼도 보통 상태에서 표시됩니다.
운영 체제에서 제공되는 최소화, 최대화 또는 복원 버튼을 클릭하면 WindowState
속성이 그에 따라 설정됩니다. Ctrl+F11(Windows® 및 Linux®) 또는 Ctrl+Command+f(macOS)를 누르면 'fullscreen'
상태가 전환됩니다.
도킹된 Figure에서 또는 MATLAB Online에서 WindowState
속성을 설정하는 것은 지원되지 않습니다.
위치와 크기
Position
— 그리기 가능 영역의 위치와 크기
[left bottom width height]
그리기 가능 영역의 위치와 크기로, [left bottom width height]
형식의 벡터로 지정됩니다. Figure 테두리, 제목 표시줄, 메뉴 모음, 도구 모음은 이 영역에서 제외됩니다.
다음 표에서는 Position
벡터의 각 요소를 설명합니다.
요소 | 설명 |
---|---|
left | 주 디스플레이의 왼쪽 가장자리부터 창의 왼쪽 내부 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다. Figure가 도킹된 경우 이 값은 MATLAB 데스크탑 내의 Figure 패널에 대해 상대적입니다. |
bottom | 주 디스플레이의 하단 가장자리부터 창의 내부 하단 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다. Figure가 도킹된 경우 이 값은 MATLAB 데스크탑 내의 Figure 패널에 대해 상대적입니다. |
width | figure의 오른쪽과 왼쪽 내부 가장자리 사이의 거리. |
height | 창의 상단과 하단 내부 가장자리 사이의 거리. |
모든 측정값은 Units
속성으로 지정된 단위로 표시됩니다.
Figure가 도킹되어 있으면 Figure의 Position
속성을 지정할 수 없습니다.
MATLAB Online에서는 Position
벡터의 bottom
요소와 left
요소가 무시됩니다.
테두리, 제목 표시줄, 메뉴 모음, 도구 모음을 포함하는 완전한 창을 배치하려면 OuterPosition
속성을 사용하십시오.
참고
Windows 운영 체제에서는 최소 창 너비와 최대 창 크기가 강제로 적용됩니다. 이 제한값을 벗어나는 Figure 크기를 지정할 경우 Figure는 사용자가 지정한 크기가 아니라 이 제한 크기로 표시됩니다.
Units
— 측정 단위
'pixels'
(디폴트 값) | 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
측정 단위로, 다음 표의 값 중 하나로 지정됩니다.
단위 값 | 설명 |
---|---|
'pixels' (디폴트 값) | 픽셀. R2015b부터, 픽셀 단위의 거리는 Windows와 Macintosh 시스템에서 시스템 해상도와 무관하게 적용됩니다. 즉, 다음과 같습니다.
Linux 시스템에서 픽셀 크기는 시스템 해상도에 의해 결정됩니다. |
'normalized' | 이 단위는 부모 컨테이너에 대해 정규화됩니다. 컨테이너의 왼쪽 아래 코너는 (0,0) 에 매핑되고 오른쪽 위 코너는 (1,1) 에 매핑됩니다. |
'inches' | 인치. |
'centimeters' | 센티미터. |
'points' | 포인트. 1포인트는 1/72인치와 같습니다(1인치 = 2.54cm). |
'characters' | 이 단위는 다음과 같이 그래픽스 root 객체의 디폴트 uicontrol 글꼴을 기반으로 합니다.
디폴트 uicontrol 글꼴에 액세스하려면 |
MATLAB은 모든 단위를 부모 객체의 왼쪽 아래 코너부터 측정합니다.
이 속성은 Position
속성에 영향을 미칩니다. Units
속성을 변경하는 경우, 디폴트 값을 상정하는 다른 함수에 영향을 미치지 않도록 계산을 완료한 후에 이 속성값을 디폴트 값으로 복원하는 것이 좋습니다.
Units
속성과 Position
속성을 지정하는 순서에 따라 다음과 같이 영향을 미칩니다.
Position
속성보다 먼저Units
를 지정하면 MATLAB은 지정한 단위를 사용하여Position
을 설정합니다.Position
속성 다음에Units
속성을 지정하면 MATLAB은 디폴트Units
를 사용하여 위치를 설정합니다. 그런 다음 MATLAB은Position
값을 지정한 단위의 상응하는 값으로 변환합니다.
InnerPosition
— 그리기 가능 영역의 위치와 크기
[left bottom width height]
그리기 가능 영역의 위치와 크기로, [left bottom width height]
형식의 벡터로 지정됩니다. Figure 테두리, 제목 표시줄, 메뉴 모음, 도구 모음은 이 영역에서 제외됩니다. 모든 측정값은 Units
속성으로 지정된 단위로 표시됩니다.
이 속성값은 Position
속성값과 동일합니다.
OuterPosition
— 바깥쪽 경계의 위치와 크기
[left bottom width height]
바깥쪽 경계의 위치와 크기로, [left bottom width height]
형식의 벡터로 지정됩니다. 이 속성은 Figure의 바깥쪽 경계로 둘러싸인 영역(테두리, 제목 표시줄, 메뉴 모음, 도구 모음 포함)을 정의합니다.
다음 표에서는 벡터의 각 요소를 설명합니다.
요소 | 설명 |
---|---|
left | 주 디스플레이의 왼쪽 가장자리부터 figure 창의 왼쪽 외부 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다. Figure가 도킹된 경우 이 값은 MATLAB 데스크탑 내의 Figure 패널에 대해 상대적입니다. |
bottom | 주 디스플레이의 하단 가장자리부터 figure 창의 외부 하단 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다. Figure가 도킹된 경우 이 값은 MATLAB 데스크탑 내의 Figure 패널에 대해 상대적입니다. |
width | figure의 오른쪽과 왼쪽 외부 가장자리 사이의 거리. |
height | figure의 상단과 하단 외부 가장자리 사이의 거리. |
모든 측정값은 Units
속성으로 지정된 단위로 표시됩니다.
Figure가 도킹되어 있으면 Figure의 OuterPosition
속성을 지정할 수 없습니다.
참고
Windows 운영 체제에서는 최소 창 너비와 최대 창 크기가 강제로 적용됩니다. 이 제한값을 벗어나는 Figure 크기를 지정할 경우 Figure는 사용자가 지정한 크기가 아니라 이 제한 크기로 표시됩니다.
Clipping
— 자식 컴포넌트 클리핑(권장되지 않음)
'on'
(디폴트 값) | on/off 논리값
이 속성은 Figure에 아무런 영향을 미치지 않습니다.
Resize
— 크기 조정이 가능한 Figure
'on'
(디폴트 값) | on/off 논리값
크기 조정이 가능한 Figure로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을 'on'
으로 설정하면 Figure의 크기를 조정할 수 있습니다. 그러지 않으면 Figure는 크기를 조정할 수 없습니다.
플로팅
Colormap
— Figure의 좌표축 콘텐츠에 대한 컬러맵
파룰라(parula) (디폴트 값) | RGB 3색으로 구성된 m
×3
배열
Figure의 좌표축 콘텐츠에 대한 컬러맵으로, m
개의 개별 색을 정의하는 RGB(빨간색, 녹색, 파란색) 3색의 m
×3
배열로 지정됩니다.
예: figure('Colormap',[1 0 1; 0 0 1; 1 1 0])
은 컬러맵을 세 가지 색, 즉 자홍색, 파란색, 노란색으로 설정합니다.
MATLAB은 행 번호를 사용하여 이러한 색에 액세스합니다.
컬러맵은 surface
, image
, patch
함수로 생성된 객체의 렌더링에 영향을 미치지만, 다른 그래픽스 객체에는 일반적으로 영향을 미치지 않습니다.
Figure의 Colormap
속성을 설정하면 Figure의 좌표축과 차트는 동일한 컬러맵을 사용합니다.
Alphamap
— Axes
콘텐츠에 대한 투명도 맵
0
에서 1
사이의 64개 값으로 구성된 배열 (디폴트 값) | 0
에서 1
사이의 유한 알파 값으로 구성된 배열
Axes
콘텐츠에 대한 투명도 맵으로, 0
부터 1
까지 선형적으로 진행하는 유한 알파 값으로 구성된 배열로 지정됩니다. 배열의 크기는 m×1이나 1×m일 수 있습니다. MATLAB은 배열 내 알파 값에 대응하는 인덱스를 통해 알파 값에 액세스합니다. Alphamap은 임의의 길이일 수 있습니다.
알파맵은 surface
, image
, patch
함수로 생성된 객체의 렌더링에 영향을 미치지만, 다른 그래픽스 객체에는 영향을 미치지 않습니다.
Figure의 Alphamap
속성을 설정하면 Figure의 좌표축과 차트는 동일한 알파맵을 사용합니다.
NextPlot
— 다음 플롯을 추가하는 방법에 대한 지시문
'add'
(디폴트 값) | 'new'
| 'replace'
| 'replacechildren'
다음 플롯을 추가하는 방법에 대한 지시문으로, 'add'
, 'new'
, 'replace'
, 'replacechildren'
중 하나로 지정됩니다.
다음 표에서는 각 속성값의 효과에 대해 설명합니다.
속성값 | 효과 |
---|---|
'new' | 새 Figure를 만들어 현재 Figure로 사용합니다. |
'add' | 현재 Figure를 지우거나 재설정하지 않고 새 그래픽스 객체를 추가합니다. |
'replacechildren' | 새 객체를 추가하기 전에 숨겨지지 않은 axes 객체를 모두 제거합니다. Figure 속성을 재설정하지 않습니다.
|
'replace' | 새 그래픽스 객체를 추가하기 전에 모든 axes 객체를 제거하고 Figure 속성을 디폴트로 재설정합니다.
|
newplot
함수를 사용하여 NextPlot
속성을 처리할 수 있습니다. 자세한 내용은 좌표축의 NextPlot
속성과 그래프에 사용할 Figure 및 좌표축 준비하기 항목을 참조하십시오.
Renderer
— 렌더러
'opengl'
(디폴트 값) | 'painters'
화면 표시와 인쇄에 사용되는 렌더러로, 다음 값 중 하나로 지정됩니다.
'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
RendererMode
— 렌더러 선택
'auto'
(디폴트 값) | 'manual'
렌더러 선택으로, 다음 중 하나로 지정됩니다.
'auto'
— MATLAB이 Figure의 그래픽스 객체의 크기와 복잡도에 따라 인쇄 및 화면 표시를 위한 렌더링 방법을 자동으로 선택합니다.'manual'
— MATLAB이Renderer
속성으로 지정된 렌더러를 사용합니다.
Renderer
속성을 'painters'
또는 'opengl'
로 명시적으로 설정할 경우 MATLAB은 RendererMode
속성을 'manual'
로 설정합니다.
참고
RendererMode
속성은 향후 릴리스에서 제거될 예정입니다. 자세한 내용은 버전 내역 항목을 참조하십시오.
GraphicsSmoothing
— 좌표축 그래픽스 평활화
'on'
(디폴트 값) | on/off 논리값
좌표축 그래픽스 평활화로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
평활화로 좌표축 그래픽의 들쑥날쑥한 선을 좀 더 부드럽게 표현할 수 있습니다. MATLAB은 GraphicsSmoothing
이 'on'
으로 설정되어 있고 다음 조건 중 하나에 해당되면 좌표축 그래픽과 좌표축 눈금자에 평활화 기법을 적용합니다.
Renderer
속성이'painters'
으로 설정됩니다.Renderer
속성이'opengl'
로 설정되어 있으며, 하드웨어 카드가 OpenGL을 지원합니다.
그래픽스 평활화 | 그래픽스 평활화 없음 |
---|---|
|
|
(확대된 보기)
| (확대된 보기)
|
좌표축 그래픽이 주로 가로선 또는 세로선으로 구성되어 있는 경우 GraphicsSmoothing
속성을 'on'
으로 설정하고 선 AlignVertexCenters
속성을 'on'
으로 설정하는 것이 좋습니다. 특히 이러한 그래픽스에서는 부드럽게 표현하는 평활화 기법으로 인해 선명도가 떨어질 수 있습니다.
그래픽스 평활화는 텍스트에는 아무런 효과가 없습니다. MATLAB은 GraphicsSmoothing
속성의 값에 관계없이 항상 텍스트를 부드럽게 표시합니다.
MATLAB Online에서는 GraphicsSmoothing
속성의 설정이 지원되지 않습니다.
참고
GraphicsSmoothing
속성은 향후 릴리스에서 제거될 예정입니다. 이 속성이 제거되면 모든 그래픽스가 부드럽게 표시됩니다.
인쇄 및 내보내기
PaperPosition
— 인쇄하거나 저장할 때 페이지에서의 Figure 크기와 위치
[left bottom width height]
형식의, 요소를 4개 가진 벡터
인쇄하거나 저장할 때 페이지에서의 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]
으로 설정합니다.
PaperPositionMode
— 인쇄하거나 저장할 때 표시되어 있는 Figure의 크기를 지정하기 위한 지시문
'auto'
(디폴트 값) | 'manual'
인쇄하거나 저장할 때 표시되어 있는 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 픽셀이 됩니다.
PaperSize
— 사용자 지정 페이지 크기
[width height]
형식의, 요소를 2개 가진 벡터
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'
으로 설정(없는 경우)됩니다.
PaperUnits
— PaperSize
와 PaperPosition
에 사용되는 단위
'inches'
| 'centimeters'
| 'normalized'
| 'points'
PaperSize
와 PaperPosition
에 사용되는 단위로, 다음 값 중 하나로 지정됩니다.
'inches'
— 인치 단위의 값입니다. 로캘이 미국인 경우의 디폴트값입니다.'normalized'
— 정규화된 단위입니다. 페이지의 왼쪽 아래 코너가(0,0)
으로 매핑되고 오른쪽 위 코너가(1,1)
로 매핑됩니다.'centimeters'
— 센터미터 단위의 값입니다. 로캘이 유럽이나 아시아인 경우의 디폴트값입니다.'points'
— 포인트 단위의 값입니다. 1포인트는 1/72인치와 같습니다(1인치 = 2.54cm).
참고
PaperUnits
속성의 값을 변경하는 경우 계산을 완료한 후에 PaperUnits
속성이 변경되지 않은 것으로 간주되는 다른 함수에 영향을 미치지 않도록 해당 속성을 원래 값으로 복원하는 것이 좋습니다.
PaperOrientation
— 페이지의 방향
'portrait'
(디폴트 값) | 'landscape'
Figure를 인쇄하거나 페이징 형식(PDF 형식, PostScript 형식)으로 저장할 때 페이지의 방향으로, 다음 값 중 하나로 지정됩니다.
'portrait'
— 페이지를 세로 방향으로 지정합니다.'landscape'
— 페이지를 가로 방향으로 지정합니다.
자세한 내용은 orient
함수를 참조하십시오.
참고
파일 > 다른 이름으로 저장을 사용할 때는 PDF 형식과 전체 페이지 PS 형식만 PaperOrientation
속성을 사용합니다. 다른 형식은 이러한 값을 무시합니다.
PaperType
— 표준 페이지 크기
'usletter'
| 'uslegal'
| 'tabloid'
| 'a0'
| 'a1'
| 'a2'
| 'a3'
| ...
Figure를 인쇄하거나 페이징 형식(PDF 형식, PostScript 형식)으로 저장할 때 표준 페이지 크기로, 다음 표에 있는 값 중 하나로 지정됩니다. PaperType
속성을 지정하면 PaperSize
속성이 대응하는 페이지 크기로 설정됩니다.
값 | 페이지 크기(너비 x 높이) |
---|---|
| 8.5×11인치(미국의 디폴트 값) |
| 8.5×14인치 |
| 11×17인치 |
| 84.1×118.9cm |
| 59.4×84.1cm |
| 42×59.4cm |
| 29.7×42cm |
| 21×29.7cm(유럽과 아시아의 디폴트 값) |
| 14.8×21cm |
| 102.9×145.6cm |
| 72.8×102.8cm |
| 51.4×72.8cm |
| 36.4×51.4cm |
| 25.7×36.4cm |
| 18.2×25.7cm |
| 9×12인치 |
| 12×18인치 |
| 18×24인치 |
| 24×36인치 |
| 36×48인치 |
| 8.5×11인치 |
| 11×17인치 |
| 17×22인치 |
| 22×34인치 |
| 34×43인치 |
'<custom>' | 사용자 지정 페이지 크기입니다. |
InvertHardcopy
— 인쇄하거나 저장할 때 Figure 배경색
'on'
(디폴트 값) | on/off 논리값
인쇄하거나 저장할 때 Figure 배경색으로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
'on'
— Figure 배경색과 좌표축 배경색을 흰색으로 변경합니다. 생성된 출력값이 더 잘 보이도록 Figure의 텍스트 및 기타 특성의 색이 변경될 수도 있습니다.'off'
— 디스플레이의 색과 동일한 색을 사용합니다. 디스플레이의 Figure 배경색을 변경하려면 Figure의Color
속성을 사용하십시오. 좌표축 배경색을 변경하려면 좌표축의Color
속성을 사용하십시오.
마우스 포인터
Pointer
— 포인터 기호
'arrow'
(디폴트 값) | 'ibeam'
| 'crosshair'
| 'watch'
| 'topl'
| 'custom'
| ...
포인터 기호로, 다음 표에 나와 있는 값 중 하나 또는 'custom'
으로 지정됩니다. 기호의 모양은 운영 체제에 따라 달라집니다.
값 | 결과로 표시되는 기호(시스템에 따라 다름) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
사용자 지정 포인터 기호
사용자 지정 포인터 기호를 만들려면 프로그래밍 방식으로 Pointer
속성을 'custom'
으로 설정하고 PointerShapeCData
속성을 사용하여 기호를 정의하십시오. 자세한 내용은 PointerShapeCData
속성을 참조하십시오.
제한 사항
uihtml
함수로 만든 HTML UI 컴포넌트 위에는 Pointer
속성으로 지정된 포인터 기호가 표시되지 않습니다.
PointerShapeCData
— 사용자 지정 포인터 기호
16×16 행렬 (디폴트 값) | 32×32 행렬
사용자 지정 포인터 기호로, 16×16 행렬(16×16 픽셀 포인터의 경우) 또는 32×32 행렬(32×32 픽셀 포인터의 경우)로 지정됩니다. Pointer
속성을 'custom'
으로 설정할 경우 Figure는 이 포인터 기호를 사용합니다.
행렬의 각 요소는 포인터의 한 픽셀에 대한 밝기 수준을 정의합니다. 여기서 요소는 다음의 값 중 하나를 가질 수 있습니다.
1
— 검은색 픽셀.2
— 흰색 픽셀.NaN
— 밑의 화면이 비쳐 보이는 투명 픽셀.
행렬의 요소 (1,1)
은 포인터의 왼쪽 위 코너에 있는 픽셀에 해당합니다.
PointerShapeHotSpot
— 포인터의 활성 픽셀
[1 1]
(디폴트 값) | 요소를 2개 가진 벡터
포인터의 활성 픽셀로, 요소를 2개 가진 벡터로 지정됩니다. 이 벡터는 원하는 활성 픽셀에 해당하는, PointerShapeCData
행렬의 특정 요소에 대한 행 인덱스와 열 인덱스를 포함합니다. 디폴트 값인 [1 1]
은 포인터의 왼쪽 위 코너에 있는 픽셀에 해당합니다.
PointerShapeCData
행렬의 범위를 벗어난 값을 지정할 경우 포인터는 [1 1]
의 디폴트 활성 픽셀을 대신 사용합니다.
이 속성은 Pointer
속성이 'custom'
으로 설정된 경우에만 적용됩니다.
상호 작용
Visible
— 가시성 상태
'on'
(디폴트 값) | on/off 논리값
가시성 상태로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
'on'
— 객체를 표시합니다.'off'
— 객체를 삭제하지 않고 숨깁니다. 보이지 않는 UI 컴포넌트의 속성에 계속 액세스할 수 있습니다.
앱을 더 빨리 시작하려면 시작 시 나타날 필요가 없는 모든 컴포넌트에 대해 Visible
속성을 'off'
로 설정하십시오.
보이지 않는 컨테이너의 크기를 변경하면 컨테이너가 표시될 때 SizeChangedFcn
콜백이 트리거됩니다.
컨테이너의 Visible
속성을 변경해도 자식 컴포넌트의 Visible
속성값은 변경되지 않습니다. 컨테이너를 숨겨서 자식 컴포넌트가 숨겨진 경우에도 마찬가지입니다.
CurrentAxes
— 현재 Figure의 대상 좌표축
Axes
객체 | PolarAxes
객체 | 그래픽스 객체
현재 Figure의 대상 좌표축으로, Axes
객체, PolarAxes
객체 또는 HeatmapChart
와 같은 그래픽스 객체로 지정됩니다.
axes 자식이 존재하는 모든 Figure에는 항상 현재 좌표축이 있습니다. 현재 좌표축은 제일 부모에 있는 axes가 아닐 수도 있으며, 좌표축을 현재 좌표축으로 설정하더라도 현재 좌표축이 다른 모든 좌표축의 부모로 바뀌는 건 아닙니다. Figure에 좌표축이 없으면 get(gcf,'CurrentAxes')
명령은 빈 배열을 반환합니다.
axes 객체가 없는 경우 강제로 생성하지 않고 CurrentAxes
속성을 쿼리하여 현재 axes 객체를 가져오십시오.
CurrentObject
— 현재 객체
Figure의 자식 객체
현재 객체로, Figure의 자식 객체로 반환됩니다. MATLAB은 CurrentObject
속성을 Figure에서 마지막으로 클릭된 객체로 설정합니다. 이 객체는 보기에서 제일 앞쪽에 표시되는 객체입니다.
자식 객체의 HitTest
속성은 객체가 CurrentObject
가 될 수 있는지 여부를 제어합니다.
HandleVisibility
속성이 'off'
로 설정된 객체를 클릭하면 CurrentObject
속성이 빈 GraphicsPlaceholder
배열로 설정됩니다. 사용자가 숨겨진 객체를 클릭할 때 빈 배열이 반환되지 않도록 하려면 숨겨진 객체의 HitTest
속성을 'off'
로 설정하십시오.
이 속성의 값을 가져오기 위한 대안으로 gco
명령을 사용하십시오.
CurrentPoint
— 현재 점
요소를 2개 가진 벡터
현재 점으로, 요소를 2개 가진 벡터로 반환됩니다. 이 벡터는 Figure의 좌측 하단 코너에서부터 측정한 마우스 포인터의 (x, y) 좌표를 포함합니다. 모든 값은 Units
속성으로 지정된 단위로 표시됩니다.
다음 중 하나를 수행하면 좌표가 업데이트됩니다.
Figure 안에서 마우스 버튼을 누릅니다.
Figure 안에서 마우스 버튼을 누른 뒤에 마우스 버튼을 놓습니다.
Figure 안에서 마우스 버튼을 누른 뒤에 Figure 밖에서 마우스 버튼을 놓습니다.
Figure 안에서 스크롤 휠을 회전합니다.
WindowButtonMotionFcn
속성이 비어 있지 않다는 전제 하에 Figure 안에서 (버튼을 누르지 않은 채로) 마우스를 움직입니다.
Figure에 마우스 조작에 반응하는 콜백이 있고 시스템이 코드를 실행하는 데 걸리는 시간보다 빠르게 사용자가 콜백을 트리거하면 좌표값이 포인터의 실제 위치를 반영하지 않을 수 있습니다. 대신, 콜백이 실행을 시작했을 때의 위치를 반영할 수 있습니다.
CurrentPoint
속성을 사용하여 점을 플로팅하는 경우 좌표값에 반올림 오차가 포함될 수 있습니다.
CurrentCharacter
— 현재 문자
''
(디폴트 값) | 문자형
현재 문자로, 마지막으로 누른 키의 문자로 반환됩니다. 이 속성은 Figure에 포커스가 있을 때 사용자가 키를 누른 경우에만 업데이트됩니다.
Selected
— 선택 상태(권장되지 않음)
'off'
(디폴트 값) | on/off 논리값
참고
Selected
속성의 동작은 R2014b에서 변경되었으며, 권장되지 않습니다. 이 속성은 더 이상 이 유형의 객체에 아무런 영향을 미치지 않습니다. 이 속성은 향후 릴리스에서 제거될 수도 있습니다.
SelectionHighlight
— 선택 핸들 표시 여부(권장되지 않음)
'on'
(디폴트 값) | on/off 논리값
참고
SelectionHighlight
속성 사용은 권장되지 않습니다. 이 속성은 Figure에 아무런 영향을 미치지 않습니다. 이 속성은 향후 릴리스에서 제거될 수도 있습니다.
SelectionType
— 마우스 선택 유형
'normal'
(디폴트 값) | 'extend'
| 'alt'
| 'open'
마우스 선택 유형으로, 'normal'
, 'extend'
, 'alt'
또는 'open'
으로 반환됩니다. 이 속성은 Figure에서 마지막으로 발생한 마우스 버튼 눌림에 대한 정보를 제공합니다.
다음 표에서는 가능한 SelectionType
값과 이러한 값을 만드는 사용자 동작을 보여줍니다.
값 | 대응하는 동작 |
---|---|
| 마우스 왼쪽 버튼을 클릭합니다. |
| 다음 동작 중 하나입니다.
|
| 다음 중 하나:
|
| 마우스 버튼을 더블 클릭합니다. |
ContextMenu
— 상황별 메뉴
빈 GraphicsPlaceholder
배열 (디폴트 값) | ContextMenu
객체
상황별 메뉴로, uicontextmenu
함수를 사용하여 만든 ContextMenu
객체로 지정됩니다. 컴포넌트를 오른쪽 버튼으로 클릭할 때 상황별 메뉴를 표시하려면 이 속성을 사용하십시오.
일반 콜백
ButtonDownFcn
— 버튼 누름 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
버튼 누름 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백은 사용자가 Figure의 빈 영역을 클릭할 때마다 실행됩니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
SelectionType
속성을 사용하여 사용자가 보조키를 눌렀는지 확인합니다.
CreateFcn
— 컴포넌트 생성 함수
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
컴포넌트 생성 함수로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
이 속성은 MATLAB이 컴포넌트를 생성할 때 실행할 콜백 함수를 지정합니다. MATLAB은 CreateFcn
콜백을 실행하기 전에 모든 컴포넌트 속성값을 초기화합니다. CreateFcn
속성을 지정하지 않으면 MATLAB은 디폴트 생성 함수를 실행합니다.
생성되는 컴포넌트 객체를 가져오려면 CreateFcn
코드에서 gcbo
함수를 사용하십시오.
기존 컴포넌트 객체에 대해서는 CreateFcn
속성을 설정해도 아무 효과가 없습니다.
DeleteFcn
— 컴포넌트 삭제 함수
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
컴포넌트 삭제 함수로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
DeleteFcn
속성은 MATLAB이 컴포넌트를 삭제할 때(예: 사용자가 창을 닫을 때) 실행할 콜백 함수를 지정합니다. MATLAB은 컴포넌트 객체의 속성을 삭제하기 전에 DeleteFcn
콜백을 실행합니다. DeleteFcn
속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.
삭제되는 컴포넌트 객체를 가져오려면 DeleteFcn
코드에서 gcbo
함수를 사용하십시오.
키보드 콜백
KeyPressFcn
— 키 누름 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
키 누름 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 Figure에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다. 사용자가 UIControl
또는 Table
컴포넌트에서 키를 누르면, Enable
속성이 'off'
또는 'inactive'
로 설정된 경우에만 콜백이 실행됩니다.
사용자가 거의 동시에 여러 개의 키를 누를 경우 MATLAB은 모든 키를 감지합니다.
KeyPressFcn
콜백은 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData
객체에 전달합니다. 다음 표에는 이 객체의 속성이 나열되어 있습니다.
속성 | 설명 | 예제: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 키 누름의 결과로 표시되는 문자. 특정 키 또는 보조키를 Ctrl 키와 함께 누르면 출력할 수 없는 문자가 이 속성에 반환될 수 있습니다. 특정 키를 단독으로 누르면(예: Ctrl, Alt, Shift) | 'a' | '=' | '' | 'A' |
Modifier | 눌린 보조키(예: | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 눌린 키로, 키 또는 설명 단어(예: | 'a' | 'equal' | 'shift' | 'a' |
Source | 키가 눌릴 때 포커스가 있는 객체. | Figure 객체 | Figure 객체 | Figure 객체 | Figure 객체 |
EventName | 콜백 함수가 실행되도록 만든 동작. | 'KeyPress' | 'KeyPress' | 'KeyPress' | 'KeyPress' |
KeyPressFcn
콜백은 라이브 편집기에서 지원되지 않습니다.
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
CurrentCharacter
속성은 문자 정보도 반환합니다.
KeyReleaseFcn
— 키 해제 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
키 해제 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 Figure에 포커스가 있는 동안 사용자가 눌린 상태의 키를 해제하면 실행됩니다. 사용자가 UIControl
또는 Table
컴포넌트에서 키를 놓으면, Enable
속성이 'off'
또는 'inactive'
로 설정된 경우에만 콜백이 실행됩니다.
KeyReleaseFcn
콜백은 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData
객체에 전달합니다. 다음 표에는 이 객체의 속성이 나열되어 있습니다.
속성 | 설명 | 예제: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 눌린 상태에서 해제되는 키에 대응하는 문자. 특정 키 또는 보조키를 Ctrl 키와 함께 누르면 출력할 수 없는 문자가 이 속성에 반환될 수 있습니다. 특정 키를 단독으로 누르거나 눌린 상태에서 해제하면(예: Ctrl, Alt, Shift) | 'a' | '=' | '' | 'A' |
Modifier | 눌린 보조키(예: | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 해제된 키로, 키 또는 설명 단어(예: | 'a' | 'equal' | 'shift' | 'a' |
Source | 키가 눌린 상태에서 해제될 때 포커스가 있는 객체. | Figure 객체 | Figure 객체 | Figure 객체 | Figure 객체 |
EventName | 콜백 함수가 실행되도록 만든 동작. | 'KeyRelease' | 'KeyRelease' | 'KeyRelease' | 'KeyRelease' |
KeyReleaseFcn
콜백은 라이브 편집기에서 지원되지 않습니다.
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
창 콜백
CloseRequestFcn
— 닫기 요청 콜백
'closereq'
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
닫기 요청 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
이 콜백은 사용자가 Figure 창을 닫으려고 시도할 때마다 실행됩니다. 예를 들어, 사용자에게 닫기 작업을 확인할지, 취소할지 묻는 대화 상자를 표시하거나 사용자가 UI가 포함된 Figure를 닫지 못하게 할 수 있습니다.
기본 메커니즘은 다음과 같습니다.
사용자가 명령줄에서
close
또는close all
명령을 실행하고 컴퓨터의 창 관리자 메뉴에서 Figure를 닫거나, MATLAB을 종료하여 Figure를 닫습니다.닫기 작업이 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 창을 닫으면 질문 대화 상자가 표시됩니다.
SizeChangedFcn
— 크기 변경 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
크기 변경 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 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 컴포넌트이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.
WindowButtonDownFcn
— 창 버튼 누름 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 버튼 누름 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백은 사용자가 Figure 또는 자식 객체의 아무 곳이나 클릭할 때 실행됩니다. 사용자가 UIControl
또는 Table
컴포넌트를 클릭하면, Enable
속성이 'off'
또는 'inactive'
로 설정된 경우에만 콜백이 실행됩니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
WindowButtonMotionFcn
— 창 버튼 동작 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 버튼 동작 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 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 컴포넌트이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.
WindowButtonUpFcn
— 창 버튼 놓음 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 버튼 놓음 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백은 사용자가 Figure 또는 자식 객체의 아무 곳에서나 눌린 상태의 마우스 버튼을 놓을 때 실행됩니다. 사용자가 UIControl
또는 Table
컴포넌트에서 마우스 버튼을 놓으면, Enable
속성이 'off'
또는 'inactive'
로 설정된 경우에만 콜백이 실행됩니다.
버튼 놓음 동작은 Figure의 버튼 누름 동작과 연결됩니다. 버튼 누름 동작이 발생할 때는 마우스 포인터가 Figure 안에 있어야 하지만, 버튼 놓음 동작이 발생할 때는 Figure 밖에 있어도 됩니다.
콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
WindowKeyPressFcn
— 창 키 누름 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 키 누름 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 Figure 또는 자식 객체에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다.
이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData
객체에 전달합니다. 다음 표에는 이 객체의 속성이 나열되어 있습니다.
속성 | 설명 | 예제: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 키 누름의 결과로 표시되는 문자. 특정 키 또는 보조키를 Ctrl 키와 함께 누르면 출력할 수 없는 문자가 이 속성에 반환될 수 있습니다. 특정 키를 단독으로 누르면(예: Ctrl, Alt, Shift) | 'a' | '=' | '' | 'A' |
Modifier | 눌린 보조키(예: | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 눌린 키로, 키 또는 설명 단어(예: | 'a' | 'equal' | 'shift' | 'a' |
Source | 키가 눌릴 때 포커스가 있는 객체. | Figure 객체 | Figure 객체 | Figure 객체 | Figure 객체 |
EventName | 콜백 함수가 실행되도록 만든 동작. | 'WindowKeyPress' | 'WindowKeyPress' | 'WindowKeyPress' | 'WindowKeyPress' |
WindowKeyPressFcn
콜백은 라이브 편집기에서 지원되지 않습니다.
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
WindowKeyReleaseFcn
— 창 키 해제 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 키 해제 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백 함수는 Figure 또는 자식 객체에 포커스가 있는 동안 사용자가 눌린 상태의 키를 해제하면 실행됩니다.
이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData
객체에 전달합니다. 다음 표에는 이 객체의 속성이 나열되어 있습니다.
속성 | 설명 | 예제: | |||
---|---|---|---|---|---|
a | = | Shift | Shift-a | ||
Character | 눌린 상태에서 해제되는 키에 대응하는 문자. 특정 키 또는 보조키를 Ctrl 키와 함께 누르면 출력할 수 없는 문자가 이 속성에 반환될 수 있습니다. 특정 키를 단독으로 누르거나 눌린 상태에서 해제하면(예: Ctrl, Alt, Shift) | 'a' | '=' | '' | 'A' |
Modifier | 눌린 보조키(예: | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | 해제된 키로, 키 또는 설명 단어(예: | 'a' | 'equal' | 'shift' | 'a' |
Source | 키가 눌린 상태에서 해제될 때 포커스가 있는 객체. | Figure 객체 | Figure 객체 | Figure 객체 | Figure 객체 |
EventName | 콜백 함수가 실행되도록 만든 동작. | 'WindowKeyRelease' | 'WindowKeyRelease' | 'WindowKeyRelease' | 'WindowKeyRelease' |
WindowKeyReleaseFcn
콜백은 라이브 편집기에서 지원되지 않습니다.
콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.
WindowScrollWheelFcn
— 창 스크롤 휠 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
창 스크롤 휠 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
이 콜백은 Figure 또는 자식에 포커스가 있는 동안 사용자가 스크롤 휠을 움직일 때 실행됩니다. 단, 다른 객체가 스크롤 휠의 움직임을 캡처하여 이 콜백의 실행을 방해할 수 있습니다.
이 콜백을 실행해도 CurrentObject
속성과 SelectionType
속성에는 영향을 미치지 않습니다.
WindowScrollWheelFcn
콜백은 사용자가 스크롤 휠을 회전할 때 특정 정보에 액세스할 수 있습니다. MATLAB은 ScrollWheelData
객체의 이 정보를 콜백 함수에 대한 두 번째 인수로 전달합니다. 다음 표에는 ScrollWheelData
객체 속성이 나열되어 있습니다.
속성 | 내용 |
---|---|
VerticalScrollCount | 스크롤 휠 클릭의 방향과 횟수를 나타내는 양수 또는 음수. 아래로 스크롤하면 양수 값이 반환됩니다. 위로 스크롤하면 음수 값이 반환됩니다. 수직 스크롤 횟수는 콜백이 마지막으로 실행된 이후 발생한 모든 스크롤 휠 클릭의 합입니다. 일반적으로 이 값은 |
VerticalScrollAmount | 스크롤 휠의 각 클릭에 대해 스크롤되는 라인 수. 일반적으로 이 값은 |
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 컴포넌트이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.
ResizeFcn
— 크기 조정 콜백 함수(권장되지 않음)
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
크기 조정 콜백 함수로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
ResizeFcn
콜백은 라이브 편집기에서 지원되지 않습니다.
참고
ResizeFcn
속성 사용은 권장되지 않습니다. 이 속성은 향후 릴리스에서 제거될 수도 있습니다. SizeChangedFcn
을 대신 사용하십시오.
데이터형: function_handle
| cell
| char
콜백 실행 컨트롤
Interruptible
— 콜백 중단
'on'
(디폴트 값) | on/off 논리값
콜백 중단으로, '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
속성이 어떻게 프로그램의 동작에 영향을 미치는지를 보여주는 예제를 보려면 콜백 실행 중단하기 항목을 참조하십시오.
BusyAction
— 콜백 대기
'queue'
(디폴트 값) | 'cancel'
콜백 대기로, 'queue'
(디폴트 값) 또는 'cancel'
로 지정됩니다. BusyAction
속성은 MATLAB이 인터럽트 콜백의 실행을 처리하는 방법을 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.
실행중 콜백은 현재 실행되고 있는 콜백입니다.
인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.
인터럽트 콜백의 소스의 BusyAction
속성에 따라 MATLAB의 콜백 실행 처리 방법이 지정됩니다. BusyAction
속성은 다음과 같은 값을 갖습니다.
'queue'
— 실행중 콜백이 실행을 마치고 나면 인터럽트 콜백이 처리되도록 대기열에 넣습니다.'cancel'
— 인터럽트 콜백을 실행하지 않습니다.
MATLAB이 콜백을 불러올 때마다 이 콜백은 항상 실행 중인 콜백을 중단하려고 시도합니다. 콜백이 실행 중인 객체의 Interruptible
속성에 따라 중단이 허용되는지 여부가 결정됩니다. Interruptible
은 다음 중 하나로 설정됩니다.
on
— MATLAB이 대기열을 처리하는 다음 지점에서 중단이 발생합니다. 이는 디폴트 값입니다.off
— 인터럽트 콜백을 소유한 객체의BusyAction
속성에 따라 MATLAB이 인터럽트 콜백을 대기열에 넣을지 또는 무시할지가 결정됩니다.
BusyAction
속성과 Interruptible
속성이 어떻게 프로그램의 동작에 영향을 미치는지를 보여주는 예제를 보려면 콜백 실행 중단하기 항목을 참조하십시오.
HitTest
— 현재 객체가 될 수 있는 기능
'on'
(디폴트 값) | on/off 논리값
현재 객체가 될 수 있는 기능으로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
'on'
— 사용자가 실행 중인 앱의 컴포넌트를 클릭하면 현재 객체를Figure
로 설정합니다.Figure
의CurrentObject
속성과gco
함수는 둘 다Figure
를 현재 객체로 반환합니다.'off'
— 사용자가 실행 중인 앱의 Figure를 클릭할 때 현재 객체를 업데이트하지 않습니다.
BeingDeleted
— 삭제 상태
on/off 논리값
읽기 전용 속성입니다.
삭제 상태로, matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 반환됩니다.
MATLAB은 DeleteFcn
콜백이 실행을 시작할 때 BeingDeleted
속성을 'on'
으로 설정합니다. BeingDeleted
속성은 컴포넌트 객체가 더 이상 존재하지 않을 때까지 'on'
으로 설정되어 유지됩니다.
객체를 쿼리하거나 수정하기 전에 BeingDeleted
속성의 값을 확인하여 이 객체가 곧 삭제될 것이 아님을 확인합니다.
부모/자식
Parent
— Figure 부모
root 객체
Figure 부모로, root 객체로 반환됩니다.
Children
— figure의 자식
빈 GraphicsPlaceholder
배열 (디폴트 값) | 객체로 구성된 1차원 배열
Figure
의 자식으로, 빈 GraphicsPlaceholder
나 객체로 구성된 1차원 배열로 반환됩니다.
Children
속성을 사용해서는 자식을 추가하거나 제거할 수 없습니다. 자식의 목록을 보거나 자식을 재정렬하려면 이 속성을 사용하십시오. 자식의 순서는 화면에서 컴포넌트의 쌓임 순서(앞-뒤)를 반영합니다. MATLAB은 특정 객체의 순서 변경을 허용하지 않을 수 있습니다. 예를 들어, UIControl
객체와 Legend
객체는 항상 Axes
객체 앞에 옵니다.
이 목록에 자식을 추가하려면 자식 컴포넌트의 Parent
속성을 Figure
객체로 설정하십시오.
HandleVisibility
속성이 'off'
로 설정된 객체는 Children
속성에 나열되지 않습니다.
HandleVisibility
— figure 객체의 가시성
'on'
(디폴트 값) | 'callback'
| 'off'
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
속성값에는 영향을 주지 않음).
식별자
Name
— 이름
''
(디폴트 값) | 문자형 벡터 | string형 스칼라
Figure의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.
예: figure('Name','Results')
는 Figure의 이름을 'Results'
로 설정합니다.
기본적으로 이 이름은 'Figure n'
이며, 여기서 n
은 정수입니다. Name
속성을 지정하면 Figure의 제목이 'Figure n: name'
이 됩니다. Name
값만 표시하려면 IntegerHandle
이나 NumberTitle
을 'off'
로 설정하십시오.
Number
— 숫자
정수 | []
읽기 전용 속성입니다.
Figure의 번호로, 정수 또는 빈 배열로 반환됩니다. 이 값을 사용하여 Figure를 지칭할 수 있습니다. 예를 들어, figure(2)
는 Number
속성값이 2
인 Figure를 현재 Figure로 만듭니다.
IntegerHandle
속성을 'off'
로 지정하면 Number
속성은 빈 값이 됩니다.
IntegerHandle
이 'on'
인 경우 Number
속성은 정수입니다. Figure를 삭제하면 MATLAB은 이 숫자를 다음 Figure에 재사용합니다.
NumberTitle
— 번호 제목 사용
'on'
(디폴트 값) | on/off 논리값
번호 제목으로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을 'on'
으로 설정할 경우 Figure의 제목에 'Figure n'
이라는 구가 포함됩니다. 여기서 n
은 Number
속성의 값입니다.
제목에 숫자를 표시하려면 NumberTitle
과 IntegerHandle
을 모두 'on'
으로 설정해야 합니다.
IntegerHandle
— 정수 핸들 사용 여부
'on'
(디폴트 값) | on/off 논리값
정수 핸들 사용 여부로, '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 번호를 표시하려면 IntegerHandle
과 NumberTitle
을 모두 'on'
으로 설정해야 합니다.
FileName
— 파일 이름
문자형 벡터 | string형 스칼라
Figure를 저장하기 위한 파일 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. GUIDE는 이 속성을 사용하여 이 속성에서 저장하는 UI 레이아웃 파일의 이름을 저장합니다.
예: figure('FileName','myfile.fig')
는 파일 이름을 myfile.fig
로 설정합니다.
Type
— Figure 객체의 유형
'figure'
읽기 전용 속성입니다.
Figure 객체의 유형으로, 'figure'
로 반환됩니다. 플로팅 계층 구조에서 지정된 유형의 객체를 모두 찾으려면 이 속성을 사용하십시오.
Tag
— 객체 식별자
''
(디폴트 값) | 문자형 벡터 | string형 스칼라
객체 식별자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 객체의 식별자로 사용할 고유 Tag
값을 지정할 수 있습니다. 코드의 다른 곳에서 객체에 액세스해야 할 경우 findobj
함수를 사용하여 Tag
값을 기반으로 객체를 검색할 수 있습니다.
UserData
— 사용자 데이터
[]
(디폴트 값) | 배열
사용자 데이터로, 임의의 배열로 지정됩니다. UserData
를 지정하면 앱 내에서 데이터를 공유하는 데 유용할 수 있습니다. 자세한 내용은 콜백 간 데이터 공유하기 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨R2023b: GraphicsSmoothing
속성은 향후 릴리스에서 제거될 예정임
GraphicsSmoothing
속성은 향후 릴리스에서 제거될 예정입니다. 이 속성이 제거되면 모든 그래픽스가 부드럽게 표시됩니다.
R2022a: Renderer
속성과 RendererMode
속성은 향후 릴리스에서 아무런 영향을 미치지 않음
Figure의 Renderer
속성과 RendererMode
속성은 향후 릴리스에서 아무런 영향을 미치지 않습니다. 이러한 속성이 비활성화되면 더 이상 렌더러를 변경할 필요가 없습니다.
R2020a: UIContextMenu
속성은 권장되지 않음
R2020a부터, UIContextMenu
속성을 사용하여 그래픽스 객체 또는 UI 컴포넌트에 상황별 메뉴를 할당하는 것은 권장되지 않습니다. ContextMenu
속성을 대신 사용하십시오. 속성값은 동일합니다.
현재는 UIContextMenu
속성에 대한 지원을 제거할 계획이 없습니다. 그러나 그래픽스 객체 또는 UI 컴포넌트에서 get
함수를 호출하면, 반환되는 목록에 더 이상 UIContextMenu
속성이 나타나지 않습니다.
R2016a: PaperPositionMode
디폴트 값이 'auto'
로 변경됨
PaperPositionMode
속성의 디폴트 값이 'auto'
로 변경되었습니다. 이전에는 디폴트 값이 'manual'
이었습니다.
디폴트 값을 변경하려면 root 객체의 디폴트 값을 설정하십시오. 이 값의 설정은 현재 MATLAB 세션의 새 Figure에만 영향을 미칩니다. 예를 들면, 다음과 같습니다.
set(groot,'defaultFigurePaperPositionMode','manual')
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)