contour
행렬의 등고선(Contour) 플롯
구문
설명
contour(
는 행렬 Z
)Z
의 등치선을 포함하는 등고선 플롯을 만듭니다. 여기서 Z
는 x-y 평면의 높이 값을 포함합니다. MATLAB®은 표시할 등고선을 자동으로 선택합니다. Z
의 열과 행 인덱스는 각각 평면의 x, y 좌표입니다.
contour(___,
는 위에 열거된 구문에서 표시할 등고선을 마지막 인수로 지정합니다. levels
)levels
를 스칼라 값 n
으로 지정하면 n
개의 자동으로 선택된 레벨(높이)에 등고선이 표시됩니다. 특정 높이에 등고선을 그리려면 levels
를 단조 증가하는 값으로 구성된 벡터로 지정하십시오. 하나의 높이(k
)에 등고선을 그리려면 levels
를 요소를 2개 가진 행 벡터 [k k]
로 지정하십시오.
contour(___,
는 하나 이상의 이름-값 쌍 인수를 사용하여 등고선 플롯에 대한 추가 옵션을 지정합니다. 다른 모든 입력 인수 다음에 옵션을 지정합니다. 속성 목록은 Contour 속성를 참조하십시오.Name,Value
)
contour(
는 타깃 좌표축에 등고선 플롯을 표시합니다. 위에 열거된 구문에서 좌표축을 첫 번째 인수로 지정합니다.ax
,___)
는 각 레벨에서의 꼭짓점의 (x, y) 좌표를 포함하는 등고선 행렬 M
= contour(___)M
을 반환합니다.
예제
함수의 등고선
x-y 평면에서 그리드를 정의하는 행렬 X
와 Y
를 만듭니다. 행렬 Z
를 이 그리드 위의 높이로 정의합니다. 그런 다음 Z
의 등고선을 플로팅합니다.
x = linspace(-2*pi,2*pi); y = linspace(0,4*pi); [X,Y] = meshgrid(x,y); Z = sin(X)+cos(Y); contour(X,Y,Z)
20개 레벨의 등고선
Z
를 X
와 Y
의 함수로 정의합니다. 여기서는 peaks
함수를 호출하여 X
, Y
, Z
를 만듭니다. 그런 다음 Z
의 등고선을 20개 플로팅합니다.
[X,Y,Z] = peaks; contour(X,Y,Z,20)
1개 레벨의 등고선
파선 등고선
레이블이 지정된 등고선
Z
를 2개의 변수 X
와 Y
의 함수로 정의합니다. 그런 다음 이 함수의 등고선 플롯을 만들고 ShowText
속성을 'on'
으로 설정하여 레이블을 표시합니다.
x = -2:0.2:2; y = -2:0.2:3; [X,Y] = meshgrid(x,y); Z = X.*exp(-X.^2-Y.^2); contour(X,Y,Z,'ShowText','on')
특정한 소수점 이하 자릿수 및 단위를 가진 레이블
R2022b 이상
소수점 뒤 1자리 숫자와 그 다음에 문자 m
이 나오는 레이블을 표시하는 등고선 플롯을 만듭니다.
contour(peaks,[-4 0 2],"ShowText",true,"LabelFormat","%0.1f m")
다양한 단위의 레이블
R2022b 이상
값을 계산해야 할 때 레이블의 형식을 지정하는 함수를 지정할 수 있습니다. 예를 들어, 다양한 단위의 레이블 값을 계산하는 함수를 정의할 수 있습니다.
mylabelfun.m
이라는 프로그램 파일에 이 함수를 정의합니다. 이 함수는 입력값을 미터에서 피트로 변환하고 미터로 된 각 값이 포함된(상응하는 피트 값이 괄호 안에 표시됨) string형 벡터를 반환합니다.
function labels = mylabelfun(vals) feetPerMeter = 3.28084; feet = round(vals.*feetPerMeter); labels = vals + " m (" + feet + " ft)"; labels(vals == 0) = "0 m"; end
그런 다음 등고선 플롯을 만들고 LabelFormat
속성을 mylabelfun
에 대한 핸들로 지정합니다.
contour(peaks,[-4 0 2],"ShowText",true,"LabelFormat",@mylabelfun)
사용자 지정 선 너비
peaks
함수의 등고선 플롯을 만듭니다. LineWidth
속성을 3
으로 설정하여 등고선의 두께를 늘립니다.
Z = peaks; [M,c] = contour(Z); c.LineWidth = 3;
불연속 곡면의 등고선
곡면에 불연속이 있는 곳마다 NaN
값을 삽입합니다. 이 값을 삽입한 영역에서는 contour
함수가 등고선을 그리지 않습니다.
행렬 Z
를 peaks
함수의 샘플링으로 정의합니다. 열 26
의 모든 값을 NaN
값으로 대체합니다. 그런 다음 수정된 Z
행렬의 등고선을 플로팅합니다.
Z = peaks; Z(:,26) = NaN; contour(Z)
입력 인수
X
— x 좌표
행렬 | 벡터
x 좌표로, Z
와 크기가 동일한 행렬 또는 길이가 n
인 벡터로 지정됩니다(여기서 [m,n] = size(Z)
임). X
의 디폴트 값은 벡터 (1:n)
입니다.
X
가 행렬이면 한 차원에서는 값이 순증가 또는 순감소하고 다른 한 차원에서는 값이 일정해야 합니다. 값이 변하는 차원은 Y
의 값이 변하는 차원과 반대 차원이어야 합니다. meshgrid
함수를 사용하여 X
와 Y
행렬을 만들 수 있습니다.
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
— y 좌표
행렬 | 벡터
y 좌표로, Z
와 크기가 동일한 행렬 또는 길이가 m
인 벡터로 지정됩니다(여기서 [m,n] = size(Z)
임). Y
의 디폴트 값은 벡터 (1:m)
입니다.
Y
가 행렬이면 한 차원에서는 값이 순증가 또는 순감소하고 다른 한 차원에서는 값이 일정해야 합니다. 값이 변하는 차원은 X
의 값이 변하는 차원과 반대 차원이어야 합니다. meshgrid
함수를 사용하여 X
와 Y
행렬을 만들 수 있습니다.
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
— z 좌표
행렬
z 좌표로, 행렬로 지정됩니다. 이 행렬은 적어도 2개의 행과 2개의 열을 가져야 하며, 2개 이상의 서로 다른 값을 포함해야 합니다.
예: Z = peaks(20)
Contour
객체의 ZData
속성에는 z 좌표가 저장됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
levels
— 레벨
스칼라 | 벡터
등고선 레벨로, 스칼라 정수나 벡터로 지정됩니다. 이 인수를 사용하여 등고선의 개수와 위치를 제어합니다. 레벨을 지정하지 않으면 contour
함수는 레벨을 자동으로 선택합니다.
자동으로 선택된 n개의 높이에 등고선을 그리려면 levels를 스칼라 값 n으로 지정하십시오.
특정 높이에 등고선을 그리려면
levels
를 단조 증가하는 값으로 구성된 벡터로 지정하십시오.하나의 높이
k
에 등고선을 그리려면levels
를 요소를 2개 가진 행 벡터[k k]
로 지정하십시오.
예: contour(peaks,10)
은 peaks
함수에 대해 자동으로 선택된 10개의 높이에 등고선을 그립니다.
예: contour(peaks,[-4 0 4])
는 peaks
함수에 대해 3개의 특정 높이(-4
, 0
, 4
)에 등고선을 그립니다.
예: contour(peaks,[3 3])
은 peaks
함수의 높이가 3
인 등고선을 그립니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
LineSpec
— 선 스타일과 색
문자형 벡터 | string형 스칼라
선 스타일과 색으로, 문자와 기호를 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다. 문자와 기호는 어떤 순서로든 표시할 수 있습니다. 선 스타일, 선 색 또는 둘 다 지정할 수 있습니다. 'o'
와 같은 마커 기호는 무시됩니다.
예: '--g'
는 녹색 파선입니다.
선 스타일 | 설명 | 결과 선 |
---|---|---|
"-" | 실선 |
|
"--" | 파선 |
|
":" | 점선 |
|
"-." | 일점 쇄선 |
|
색 이름 | 짧은 이름 | 모양 |
---|---|---|
'red' | 'r' | |
'green' | 'g' | |
'blue' | 'b' | |
'cyan' | 'c' | |
'magenta' | 'm' | |
'yellow' | 'y' | |
'black' | 'k' | |
'white' | 'w' | |
ax
— 대상 좌표축
Axes
객체
대상 좌표축으로, Axes
객체로 지정됩니다. 좌표축을 지정하지 않을 경우 contour
는 현재 좌표축에 플로팅됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: contour(Z,'ShowText','on')
은 등고선 레이블을 표시합니다.
참고
여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 Contour 속성를 참조하십시오.
ShowText
— 등고선 레이블
'off'
(디폴트 값) | on/off 논리값
등고선 레이블로, 'on'
또는 'off'
나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
'on'
— 등고선을 따라 높이 값을 표시합니다.'off'
— 등고선에 레이블을 지정하지 않습니다.
LineWidth
— 선 너비
0.5
(디폴트 값) | 양의 값
등고선 너비로, 양의 값으로 지정됩니다(단위: 포인트). 1포인트는 1/72인치와 같습니다.
LabelSpacing
— 레이블 간격
144
(디폴트 값) | 스칼라
등고선을 따라 표시되는 레이블의 간격으로, 스칼라 값으로 지정됩니다(단위: 포인트). 여기서 1포인트는 1/72인치입니다(1인치 = 2.54cm). 이 속성을 사용하여 등고선을 따라 표시되는 등고선 레이블의 개수를 제어합니다. 값이 작을수록 더 많은 레이블이 표시됩니다.
LabelSpacing
속성이 영향을 미치려면 ShowText
속성을 'on'
으로 설정해야 합니다.
clabel
함수를 사용하여 레이블을 표시할 경우에는 LabelSpacing
속성이 영향을 미치지 않으며 플롯에 선 하나당 레이블 하나가 표시됩니다.
출력 인수
M
— 등고선 행렬
행렬
등고선 행렬로, 다음 형식의 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까지임
c
— contour 객체
Contour
객체
Contour
객체입니다. 등고선 플롯을 표시한 뒤에 이 객체를 사용하여 속성을 설정합니다.
확장 기능
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 GPU 배열을 받지만 GPU에서 실행되지는 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 분산 배열에 대해 연산을 수행하지만 클라이언트 측의 MATLAB에서 실행됩니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
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)