Main Content

contour3

3차원 등고선(3-D Contour) 플롯

  • 3-D contour plot

설명

예제

contour3(Z)는 행렬 Z의 등치선을 포함하는 3차원 등고선 플롯을 만듭니다. 여기서 Z는 x-y 평면의 높이 값을 포함합니다. MATLAB®은 표시할 등고선을 자동으로 선택합니다. Z의 열과 행 인덱스는 각각 평면의 x, y 좌표입니다.

예제

contour3(X,Y,Z)Z에 들어 있는 값에 대한 x 및 y 좌표를 지정합니다.

예제

contour3(___,levels)는 위에 열거된 구문에서 표시할 등고선을 마지막 인수로 지정합니다. levels를 스칼라 값 n으로 지정하면 n개의 자동으로 선택된 레벨(높이)에 등고선이 표시됩니다. 특정 높이에 등고선을 그리려면 levels를 단조 증가하는 값으로 구성된 벡터로 지정하십시오. 하나의 높이(k)에 등고선을 그리려면 levels를 요소를 2개 가진 행 벡터 [k k]로 지정하십시오.

contour3(___,LineSpec)은 등고선의 스타일과 색을 지정합니다.

contour3(___,Name,Value)는 하나 이상의 이름-값 쌍 인수를 사용하여 등고선 플롯에 대한 추가 옵션을 지정합니다. 다른 모든 입력 인수 다음에 옵션을 지정합니다. 속성 목록은 Contour 속성를 참조하십시오.

contour3(ax,___)는 타깃 좌표축에 등고선 플롯을 표시합니다. 위에 열거된 구문에서 좌표축을 첫 번째 인수로 지정합니다.

M = contour3(___)은 각 레벨에서의 꼭짓점의 (x, y) 좌표를 포함하는 등고선 행렬 M을 반환합니다.

예제

[M,c] = contour3(___)은 등고선 행렬과 contour 객체 c를 반환합니다. 등고선 플롯을 표시한 뒤에 c를 사용하여 속성을 설정하십시오.

예제

모두 축소

ZXY의 함수로 정의합니다. 여기서는 sphere 함수를 호출하여 X, Y, Z를 만듭니다. 그런 다음 Z의 등고선을 플로팅합니다.

[X,Y,Z] = sphere(50);
contour3(X,Y,Z);

Figure contains an axes object. The axes object contains an object of type contour.

Z를 2개의 변수 XY의 함수로 정의합니다. 그런 다음 Z의 등고선을 플로팅합니다. 여기서는 MATLAB®이 x축과 y축의 제한과 등고선을 선택하도록 합니다.

[X,Y] = meshgrid(-5:0.25:5);
Z = X.^2 + Y.^2;
contour3(Z)

Figure contains an axes object. The axes object contains an object of type contour.

이제 50개의 등고선 레벨을 지정한 다음 Z를 계산하는 데 사용된 xy 제한 안에서 결과를 표시합니다.

contour3(X,Y,Z,50)

Figure contains an axes object. The axes object contains an object of type contour.

Z를 2개의 변수 XY의 함수로 정의합니다. 그런 다음 Z = [-.2 -.1 .1 .2]에서 등고선을 플로팅합니다. ShowText 속성을 'on'으로 설정하여 등고선 레이블을 표시합니다.

[X,Y] = meshgrid(-2:0.25:2);
Z = X.*exp(-X.^2-Y.^2);
contour3(X,Y,Z,[-.2 -.1 .1 .2],'ShowText','on')

Figure contains an axes object. The axes object contains an object of type contour.

ZXY의 함수로 정의합니다. 여기서는 peaks 함수를 호출하여 X, Y, Z를 만듭니다. 그런 다음 Z = 2에 등고선을 표시합니다.

[X,Y,Z] = peaks;
contour3(X,Y,Z,[2 2]);

Figure contains an axes object. The axes object contains an object of type contour.

Z를 2개의 변수 XY의 함수로 정의합니다. Z의 등고선 30개를 플로팅한 다음 선 너비를 3으로 설정합니다.

[X,Y] = meshgrid(-2:0.0125:2);
Z = X.*exp(-X.^2-Y.^2);
[M,c] = contour3(X,Y,Z,30);
c.LineWidth = 3;

Figure contains an axes object. The axes object contains an object of type contour.

입력 인수

모두 축소

x 좌표로, Z와 크기가 동일한 행렬 또는 길이가 n인 벡터로 지정됩니다(여기서 [m,n] = size(Z)임). X의 디폴트 값은 벡터 (1:n)입니다.

X가 행렬이면 한 차원에서는 값이 순증가 또는 순감소하고 다른 한 차원에서는 값이 일정해야 합니다. 값이 변하는 차원은 Y의 값이 변하는 차원과 반대 차원이어야 합니다. meshgrid 함수를 사용하여 XY 행렬을 만들 수 있습니다.

X가 벡터이면 값은 순증가 또는 순감소해야 합니다.

예: X = 1:10

예: X = [1 2 3; 1 2 3; 1 2 3]

예: [X,Y] = meshgrid(1:10)

Contour 객체의 XData 속성에는 x 좌표가 저장됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

y 좌표로, Z와 크기가 동일한 행렬 또는 길이가 m인 벡터로 지정됩니다(여기서 [m,n] = size(Z)임). Y의 디폴트 값은 벡터 (1:m)입니다.

Y가 행렬이면 한 차원에서는 값이 순증가 또는 순감소하고 다른 한 차원에서는 값이 일정해야 합니다. 값이 변하는 차원은 X의 값이 변하는 차원과 반대 차원이어야 합니다. meshgrid 함수를 사용하여 XY 행렬을 만들 수 있습니다.

Y가 벡터이면 값은 순증가 또는 순감소해야 합니다.

예: Y = 1:10

예: Y = [1 1 1; 2 2 2; 3 3 3]

예: [X,Y] = meshgrid(1:10)

Contour 객체의 YData 속성에는 y 좌표가 저장됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

z 좌표로, 행렬로 지정됩니다. 이 행렬은 적어도 2개의 행과 2개의 열을 가져야 하며, 2개 이상의 서로 다른 값을 포함해야 합니다.

예: Z = peaks(20)

Contour 객체의 ZData 속성에는 z 좌표가 저장됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

등고선 레벨로, 스칼라 정수나 벡터로 지정됩니다. 이 인수를 사용하여 등고선의 개수와 위치를 제어합니다. 레벨을 지정하지 않으면 contour3 함수는 레벨을 자동으로 선택합니다.

  • 자동으로 선택된 n개의 높이에 등고선을 그리려면 levels를 스칼라 값 n으로 지정하십시오.

  • 특정 높이에 등고선을 그리려면 levels를 단조 증가하는 값으로 구성된 벡터로 지정하십시오.

  • 하나의 높이 k에 등고선을 그리려면 levels를 요소를 2개 가진 행 벡터 [k k]로 지정하십시오.

예: contour3(peaks,10)peaks 함수에 대해 자동으로 선택된 10개의 높이에 등고선을 그립니다.

예: contour3(peaks,[-4 0 4])peaks 함수에 대해 3개의 특정 높이(-4, 0, 4)에 등고선을 그립니다.

예: contour3(peaks,[3 3])peaks 함수의 높이가 3인 등고선을 그립니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

선 스타일과 색으로, 문자와 기호를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 문자와 기호는 어떤 순서로든 표시할 수 있습니다. 선 스타일, 선 색 또는 둘 다 지정할 수 있습니다. 'o'와 같은 마커 기호는 무시됩니다.

예: '--g'는 녹색 파선입니다.

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

Sample of solid line

"--"파선

Sample of dashed line

":"점선

Sample of dotted line

"-."일점 쇄선

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

색 이름짧은 이름모양
'red''r'

Sample of the color red

'green''g'

Sample of the color green

'blue''b'

Sample of the color blue

'cyan' 'c'

Sample of the color cyan

'magenta''m'

Sample of the color magenta

'yellow''y'

Sample of the color yellow

'black''k'

Sample of the color black

'white''w'

Sample of the color white

대상 좌표축으로, Axes 객체로 지정됩니다. 좌표축을 지정하지 않을 경우 contour3은 현재 좌표축에 플로팅됩니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: contour3(Z,'ShowText','on')은 등고선 레이블을 표시합니다.

참고

여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 Contour 속성를 참조하십시오.

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

  • 'on' — 등고선을 따라 높이 값을 표시합니다.

  • 'off' — 등고선에 레이블을 지정하지 않습니다.

등고선 너비로, 양의 값으로 지정됩니다(단위: 포인트). 1포인트는 1/72인치와 같습니다.

등고선을 따라 표시되는 레이블의 간격으로, 스칼라 값으로 지정됩니다(단위: 포인트). 여기서 1포인트는 1/72인치입니다(1인치 = 2.54cm). 이 속성을 사용하여 등고선을 따라 표시되는 등고선 레이블의 개수를 제어합니다. 값이 작을수록 더 많은 레이블이 표시됩니다.

LabelSpacing 속성이 영향을 미치려면 ShowText 속성을 'on'으로 설정해야 합니다.

clabel 함수를 사용하여 레이블을 표시할 경우에는 LabelSpacing 속성이 영향을 미치지 않으며 플롯에 선 하나당 레이블 하나가 표시됩니다.

출력 인수

모두 축소

등고선 행렬로, 다음 형식의 2행 행렬로 반환됩니다.

Z1, x1,1, x1,2, ..., x1,N1, Z2, x2,1, x2,2, ..., x2,N2, Z3, ...
N1, y1,1, y1,2, ..., y1,N1, N2, y2,1, y2,2, ..., y2,N2, N3, ...

행렬의 열은 등고선을 정의합니다. 각 등고선은 Z 값 및 N 값을 포함하는 열로 시작합니다.

  • Zi — i번째 등고선의 높이

  • Ni — i번째 등고선의 꼭짓점 개수

  • (xij, yij) — i번째 등고선의 꼭짓점 좌표임. 여기서 j의 범위는 1에서 Ni까지임

Contour 객체입니다. 등고선 플롯을 표시한 뒤에 이 객체를 사용하여 속성을 설정합니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

함수

속성