Main Content

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

Polygon 속성

다각형의 모양과 동작

Polygon 속성은 Polygon 객체의 모양과 동작을 제어합니다. 속성값을 변경하여 다각형의 특성을 수정할 수 있습니다.

ps = polyshape([0 0 1 1],[1 0 0 1]);
pg = plot(ps);
pg.FaceAlpha = 0.5;
lw = pg.LineWidth;

색과 스타일 지정

모두 확장

채워진 영역의 색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다.

사용자 지정 색의 경우에는 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

예: pg.FaceColor = [0.1 0.5 0.2];

예: pg.FaceColor = 'white';

예: pg.FaceColor = 'none';

FaceColor 속성이 설정되는 방식을 제어합니다. 다음 값 중 하나로 지정됩니다.

  • "auto" — MATLAB이 Polygon 객체의 SeriesIndex 속성과 좌표축의 ColorOrder 속성을 사용하여 FaceColor 속성의 값을 제어합니다.

  • "manual"FaceColor 속성의 값을 직접 설정하거나, Polygon 객체를 만들 때 함수 인수로 간접적으로 설정합니다.

FaceColor 속성의 값을 사용자가 직접 변경하는 경우 MATLAB은 FaceColorMode 속성의 값을 "manual"로 변경합니다.

채워진 영역의 외부 경계 색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 디폴트 색 [0 0 0]은 검은색 경계에 해당합니다.

사용자 지정 색의 경우에는 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

예: pg.EdgeColor = [0.1 0.5 0.2];

예: pg.EdgeColor = 'white';

예: pg.EdgeColor = 'none';

채워진 영역의 내부 경계 색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 내부 경계 색을 지정하지 않으면 EdgeColor 속성과 동일한 색이 사용됩니다. 디폴트 색 [0 0 0]은 검은색 경계에 해당합니다.

사용자 지정 색의 경우에는 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

예: pg.HoleEdgeColor = [0.1 0.5 0.2];

예: pg.HoleEdgeColor = 'white';

예: pg.HoleEdgeColor = '#D9A2E9';

예: pg.HoleEdgeColor = 'none';

R2023b 이후

HoleEdgeColor 속성이 설정되는 방식을 제어합니다. 다음 값 중 하나로 지정됩니다.

  • "auto"HoleEdgeColor 속성이 EdgeColor 속성과 일치합니다. EdgeColor 속성이 변경되면 이 색과 일치하도록 HoleEdgeColor 속성도 업데이트됩니다.

  • "manual"HoleEdgeColor 속성의 값을 사용자가 직접 설정하며, 이 값은 바뀌지 않습니다.

HoleEdgeColor 속성의 값을 사용자가 직접 변경하는 경우 MATLAB은 HoleEdgeColorMode 속성의 값을 "manual"로 변경합니다.

채워진 영역의 투명도로, 범위 [0,1] 사이의 스칼라로 지정됩니다. 값이 1이면 불투명하고 0이면 완전히 투명합니다. 값이 0과 1 사이이면 반투명합니다.

예: pg.FaceAlpha = 0.5;

계열 인덱스로, 양의 정수 또는 "none"으로 지정됩니다. 이 속성은 다른 객체의 면 색을 Polygon 객체에 동일하게 재할당하려 할 때 유용합니다.

기본적으로 SeriesIndex 속성의 값은 객체의 생성 순서에 해당하는 숫자로, 1부터 시작합니다. MATLAB은 사용자가 플로팅 함수를 호출할 때 이 숫자를 사용하여 면 색을 할당할 인덱스를 계산합니다. 인덱스는 좌표축의 ColorOrder 속성에 저장된 배열의 행을 가리킵니다. 동일한 SeriesIndex 숫자를 갖는 좌표축의 객체는 모두 색이 동일합니다.

SeriesIndex 값이 "none"이면 인덱싱 방식에서 고려되지 않는 무채색에 해당합니다.

색을 수동으로 할당하여 SeriesIndex 동작을 재정의하는 방법

채우기 색을 수동으로 제어하려면 Polygon 객체의 FaceColor 속성을 색 값(예: 색 이름 또는 RGB 3색)으로 설정하십시오.

객체의 채우기 색을 수동으로 설정하면 MATLAB은 해당 객체에 대한 색 자동 선택을 비활성화하고 SeriesIndex 속성값에 관계없이 사용자가 선택한 색을 따릅니다. FaceColorMode 속성은 색이 (사용자에 의해) 수동으로 설정되었는지, 아니면 자동으로 설정되었는지 여부를 나타냅니다. 값이 "manual"이면 수동 선택을 나타내고 값이 "auto"이면 자동 선택을 나타냅니다.

자동 선택을 다시 활성화하려면 SeriesIndex 속성을 양의 정수로 설정하고 FaceColorMode 속성을 "auto"로 설정하십시오.

경우에 따라 MATLAB은 SeriesIndex 값을 0으로 설정하여 색 자동 선택을 비활성화하기도 합니다.

채워진 영역의 외부 경계 투명도로, 범위 [0,1] 사이의 스칼라로 지정됩니다. 값이 1이면 불투명하고 0이면 완전히 투명합니다. 값이 0과 1 사이이면 반투명합니다.

예: pg.EdgeAlpha = 0.5;

채워진 영역의 내부 경계 투명도로, 범위 [0,1] 사이의 스칼라로 지정됩니다. 값이 1이면 불투명하고 0이면 완전히 투명합니다. 값이 0과 1 사이이면 반투명합니다.

예: pg.HoleEdgeAlpha = 0.5;

R2023b 이후

HoleEdgeAlpha 속성이 설정되는 방식을 제어합니다. 다음 값 중 하나로 지정됩니다.

  • "auto"HoleEdgeAlpha 속성이 EdgeAlpha 속성과 일치합니다. EdgeAlpha 속성이 변경되면 알파 값과 일치하도록 HoleEdgeAlpha 속성도 업데이트됩니다.

  • "manual"HoleEdgeAlpha 속성의 값을 사용자가 직접 설정하며, 이 값은 바뀌지 않습니다.

HoleEdgeAlpha 속성의 값을 사용자가 직접 변경하는 경우 MATLAB은 HoleEdgeAlphaMode 속성의 값을 "manual"로 변경합니다.

선 스타일로, 다음 표에 나열된 옵션 중 하나로 지정됩니다.

선 스타일설명결과 선
"-"실선

Sample of solid line

"--"파선

Sample of dashed line

":"점선

Sample of dotted line

"-."일점 쇄선

Sample of dash-dotted line, with alternating dashes and dots

"none"선 없음선 없음

선 너비로, 양의 값으로 지정됩니다(단위: 포인트).

예: pg.LineWidth = 0.75;

선 코너의 스타일로, "round", "miter" 또는 "chamfer"로 지정됩니다. 다음 표에서는 각기 다른 값의 모양을 보여줍니다.

"round""miter""chamfer"

A "round" corner

A "miter" corner

A "chamfer" corner

"round" 옵션의 모양은 Figure의 Renderer 속성이 "painters"가 아닌 "opengl"로 설정된 경우 다르게 보일 수 있습니다.

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

설명모양
'on'

세로선과 가로선을 매끄럽게 만들어 고르지 않은 모양을 제거합니다.

Four vertical lines that are sharp

'off'

세로선이나 가로선을 매끄럽게 만들지 않습니다. 선의 두께나 색이 고르지 않게 나타날 수 있습니다.

Four vertical lines that are uneven in thickness. Some of the lines are blurry.

연결된 Figure의 GraphicsSmoothing 속성이 'on'으로 설정되어 있고 Renderer 속성이 'opengl'로 설정되어 있으면 Figure는 플롯에 평활화 기법을 적용합니다. 경우에 따라 이 평활화 기법으로 인해 세로선과 가로선의 두께나 색이 고르지 않게 나타날 수도 있습니다. AlignVertexCenters 속성을 사용하여 고르지 않은 모양을 제거할 수 있습니다.

참고

이 기능을 지원하는 그래픽 카드가 있어야 합니다. 이 기능이 지원되는지 확인하려면 rendererinfo 함수를 호출하십시오. 지원되는 경우 rendererinfoinfo.Details.SupportsAlignVertexCenters에 대해 값 1을 반환합니다.

형태

모두 확장

다각형 기하로, polyshape 객체로 지정됩니다. polyshape 객체를 만들려면 polyshape 함수를 사용하십시오.

범례

모두 확장

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

객체를 범례에 포함시킬지 여부로, Annotation 객체로 지정됩니다. Annotation 객체의 기본 IconDisplayStyle 속성을 다음 값 중 하나로 설정합니다.

  • "on" — 객체를 범례에 포함시킵니다(디폴트 값).

  • "off" — 객체를 범례에 포함시키지 않습니다.

예를 들어, 범례에서 obj라는 Polygon 객체를 제외하려면 IconDisplayStyle 속성을 "off"로 설정하십시오.

obj.Annotation.LegendInformation.IconDisplayStyle = "off";

또는 legend 함수를 사용하여 범례에 있는 항목을 제어할 수도 있습니다. 첫 번째 입력 인수를 포함시킬 그래픽스 객체의 벡터로 지정해 보십시오. 첫 번째 입력 인수에 기존에 존재하는 그래픽스 객체를 지정하지 않으면 이는 범례에 표시되지 않습니다. 그러나 범례가 생성된 후에 좌표축에 추가된 그래픽스 객체는 범례에 표시됩니다. 추가 항목이 표시되지 않도록 플롯을 모두 생성한 뒤에 범례를 생성하는 것이 좋습니다.

상호 작용

모두 확장

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

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

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

데이터팁 내용으로, DataTipTemplate 객체로 지정됩니다. 기본 DataTipTemplate 객체의 속성을 수정하여 데이터팁에 표시되는 내용을 제어할 수 있습니다. 속성 목록은 DataTipTemplate 속성을 참조하십시오.

데이터팁 수정에 대한 예제를 보려면 사용자 지정 데이터팁 생성하기 항목을 참조하십시오.

이 속성은 고정된 데이터팁이 있는 다각형에만 적용됩니다.

참고

DataTipTemplate 객체는 findobj 또는 findall에서 반환하지 않으며, copyobj에 의해 복사되지 않습니다.

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

참고

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

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

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

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

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

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

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

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

  • 'on' 값은 좌표축 제한 밖에 있는 객체의 부분을 자릅니다.

  • 'off' 값은 일부가 좌표축 제한 바깥쪽에 나타나더라도 전체 객체를 표시합니다. 플롯을 만들고, hold on을 설정하고, 축 스케일링을 고정한 다음, 원래 플롯보다 큰 객체를 만들면 객체의 일부가 좌표축 제한 바깥쪽에 나타날 수 있습니다.

객체를 포함하는 좌표축의 Clipping 속성은 'on'으로 설정되어야 합니다. 그렇지 않으면 이 속성은 아무런 영향을 미치지 않습니다. 클리핑 동작에 대한 자세한 내용은 좌표축의 Clipping 속성을 참조하십시오.

콜백

모두 확장

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

  • 함수 핸들

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

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

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

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

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

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

참고

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

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

  • 함수 핸들.

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

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

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

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

기존 컴포넌트에 대해서는 CreateFcn 속성을 설정해도 아무 효과가 없습니다.

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

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

  • 함수 핸들.

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

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

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

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

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

콜백 실행 컨트롤

모두 확장

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

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

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

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

MATLAB은 콜백 대기열을 처리하는 명령을 실행할 때마다 콜백 중단 동작을 결정합니다. 이러한 명령에는 drawnow, figure, uifigure, getframe, waitfor, pause가 포함됩니다.

실행중 콜백에 이러한 명령이 포함되어 있지 않으면 중단이 발생하지 않습니다. MATLAB은 먼저 실행중 콜백의 실행을 완료한 다음 인터럽트 콜백을 실행합니다.

실행중 콜백에 이러한 명령이 포함되어 있으면 실행중 콜백을 소유한 객체의 Interruptible 속성에서 중단을 발생시킬지 여부를 결정합니다.

  • Interruptible 값이 'off'이면 중단이 발생하지 않습니다. 대신 인터럽트 콜백을 소유한 객체의 BusyAction 속성이 인터럽트 콜백을 삭제할지 아니면 콜백 대기열에 추가할지 결정합니다.

  • Interruptible 값이 'on'이면 중단이 발생합니다. MATLAB이 다음번 콜백 대기열을 처리할 때 실행중 콜백의 실행을 중지하고 인터럽트 콜백을 실행합니다. 인터럽트 콜백이 완료된 후에는 MATLAB이 실행 중인 콜백의 실행을 재개합니다.

참고

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

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

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

  • 인터럽트 콜백을 Timer 객체가 소유한 경우 콜백은 Interruptible 속성값에 관계없이 예약된 대로 실행됩니다.

참고

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

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

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

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

BusyAction 속성은 다음 조건이 모두 충족될 때만 콜백 대기 동작을 결정합니다.

  • 실행중 콜백에 콜백 대기열을 처리하는 drawnow, figure, uifigure, getframe, waitfor 또는 pause 같은 명령이 포함되어 있습니다.

  • 실행중 콜백을 소유하는 객체의 Interruptible 속성값이 'off'입니다.

이러한 조건에서는 인터럽트 콜백을 소유하는 객체의 BusyAction 속성값이 MATLAB에서 인터럽트 콜백을 처리하는 방식을 결정합니다. BusyAction 속성의 가능한 값은 다음과 같습니다.

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

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

마우스 클릭을 캡처할 수 있는 기능으로, 다음 값 중 하나로 지정됩니다.

  • 'all' — 가시성에 관계없이 마우스 클릭을 캡처할 수 있습니다. Visible 속성은 'on' 또는 'off'로 설정할 수 있으며, 색이 없는 Polygon 객체의 일부를 클릭할 수 있습니다. HitTest 속성은 Polygon 객체가 클릭에 응답하는지 아니면 선조가 응답하는지를 확인합니다.

  • 'visible' — 표시될 때 마우스 클릭을 캡처할 수 있습니다. Visible 속성이 'on'으로 설정되어 있어야 하며 정의된 색이 있는 Polygon 객체의 일부를 클릭해야 합니다. 연결된 색 속성이 'none'으로 설정된 부분은 클릭할 수 없습니다. HitTest 속성은 Polygon 객체가 클릭에 응답하는지 아니면 선조가 응답하는지를 확인합니다.

  • 'none' — 마우스 클릭을 캡처할 수 없습니다. Polygon 객체를 클릭하면 Figure 창의 현재 보기에서 이 객체 아래에 있는 객체에 클릭이 전달됩니다. HitTest 속성은 영향을 미치지 않습니다.

캡처된 마우스 클릭에 대한 응답으로, 'on' 또는 'off'나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'은 true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

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

  • 'off' — 다음과 같은 속성값을 갖는 Polygon 객체의 가장 가까운 선조에 대해 콜백을 트리거합니다.

    • HitTest 속성이 'on'으로 설정되어 있음

    • PickableParts 속성이 선조가 마우스 클릭을 캡처하도록 하는 값으로 설정되어 있음

참고

PickableParts 속성은 Polygon 객체가 마우스 클릭을 캡처할 수 있는지 여부를 확인합니다. 캡처할 수 없는 경우 HitTest 속성은 영향을 미치지 않습니다.

읽기 전용 속성입니다.

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

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

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

부모/자식

모두 확장

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

자식으로, 빈 GraphicsPlaceholder 배열이나 DataTip 객체 배열로 반환됩니다. 차트에 플로팅된 데이터팁의 목록을 보려면 이 속성을 사용하십시오.

Children 속성을 사용해서는 자식을 추가하거나 제거할 수 없습니다. 이 목록에 자식을 추가하려면 DataTip 객체의 Parent 속성을 chart 객체로 설정하십시오.

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

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

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

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

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

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

식별자

모두 확장

읽기 전용 속성입니다.

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

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

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

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

버전 내역

R2017b에 개발됨

모두 확장

참고 항목