pcolor
의사색상 플롯

설명
pcolor(
는 행렬 C
)C
의 값을 사용하여 의사색상 플롯을 생성합니다. 의사색상 플롯은 행렬 데이터를 색이 적용된 셀(면이라고도 함)로 구성된 배열로 표시합니다. MATLAB®은 x-y 평면 위에 이 플롯을 평면 형태로 생성합니다. 곡면은 면의 코너(또는 꼭짓점)에 대응하는 x 좌표와 y 좌표로 구성된 그리드로 정의됩니다. 그리드는 영역 X=1:n
과 Y=1:m
에 걸쳐 있습니다. 여기서 [m,n] = size(C)
입니다. 행렬 C
는 꼭짓점 색을 지정합니다. 각 면의 색은 면을 둘러싸는 4개의 꼭짓점 중 하나의 색에 의해 결정됩니다. 4개의 꼭짓점 중에서 x-y 그리드에 가장 먼저 나타나는 꼭짓점이 면의 색을 결정합니다.
pcolor(___,
는 하나 이상의 이름-값 인수를 사용하여 플롯의 속성을 설정합니다. 예를 들어, 플롯의 색을 지정하거나 메시 선을 숨길 수 있습니다. 속성 목록은 Surface 속성를 참조하십시오. (R2024b 이후)Name=Value
)
s = pcolor(___)
은 Surface
객체를 반환합니다. 플롯을 생성한 후에 s
를 사용하여 속성을 설정합니다. 속성 목록은 Surface 속성를 참조하십시오.
예제
좌표 벡터 X
와 Y
, 그리고 5개의 색(빨간색, 녹색, 파란색, 노란색, 검은색)을 포함하는 컬러맵 mymap
을 만듭니다.
X = [1 2 3; 1 2 3; 1 2 3]; Y = X'; mymap = [1 0 0; 0 1 0; 0 0 1; 1 1 0; 0 0 0];
컬러맵의 색을 9개의 꼭짓점으로 매핑하는 행렬 C
를 만듭니다. 9개의 꼭짓점 중에서 4개가 면의 색을 결정합니다. 이러한 꼭짓점의 색을 지정하여 면을 각각 빨간색(1
), 녹색(2
), 파란색(3
), 노란색(4
)으로 만듭니다. 나머지 꼭짓점의 색을 검은색(5
)으로 설정합니다.
C = [3 4 5; 1 2 5; 5 5 5];
면을 플로팅하고, colormap
함수를 호출하여 디폴트 컬러맵을 mymap
으로 교체합니다.
pcolor(X,Y,C) colormap(mymap)
아다마르 행렬의 요소는 1
또는 -1
입니다. 이 행렬을 시각화하는 좋은 방법은 색을 2개 가진 컬러맵을 사용하는 것입니다.
20×20 아다마르 행렬을 만듭니다. 그런 다음 흑백 컬러맵을 사용하여 행렬을 플로팅합니다. axis
함수를 사용하여 y축의 방향을 바꾸고 축 선의 길이를 같게 설정합니다.
C = hadamard(20); pcolor(C) colormap(gray(2)) axis ij axis square
색상 행렬 C
를 만듭니다. 그런 다음 C
의 의사색상 플롯을 만들고, 반환 인수 s
에 Surface
객체를 저장합니다.
C = [1 2 3; 4 5 6; 7 8 9]; s = pcolor(C);
s
의 EdgeColor
속성을 설정하여 테두리 색을 변경합니다. LineWidth
속성을 설정하여 테두리를 두껍게 만듭니다.
s.EdgeColor = [1 0.7 0.3]; s.LineWidth = 6;
색상 행렬 C
를 만듭니다. 그런 다음 C
의 의사색상 플롯을 만들고, 반환 인수 s
에 Surface
객체를 저장합니다.
C = [5 13 9 7 12; 11 2 14 8 10; 6 1 3 4 15]; s = pcolor(C);
전체 면에 대해 색을 보간하려면 s
의 FaceColor
속성을 'interp'
로 설정하십시오.
s.FaceColor = 'interp';
꼭짓점으로 구성된 규칙적인 간격의 그리드를 정의하는 행렬 X
와 Y
를 만듭니다. 행렬 LY
를 Y
의 로그로 계산합니다. 그런 다음 색 인덱스로 구성된 행이 교차로 포함된 행렬 C
를 만듭니다.
[X,Y] = meshgrid(1:20); LY = log(Y); colorscale = [1:20; 20:-1:1]; C = repmat(colorscale,10,1);
C
에 지정된 색을 사용하여 X
와 LY
를 플로팅합니다. 그런 다음 y축의 눈금 레이블을 조정합니다.
s = pcolor(X,LY,C);
tickvals = LY(2:2:20,1)';
set(gca,'YTick',tickvals);
꼭짓점으로 구성된 규칙적인 간격의 그리드를 정의하는 행렬 X
와 Y
를 만듭니다. 행렬 XX
와 YY
를 X
와 Y
의 함수로 계산합니다. 그런 다음 색 인덱스로 구성된 행이 교차로 포함된 행렬 C
를 만듭니다.
[X,Y] = meshgrid(-3:6/17:3); XX = 2*X.*Y; YY = X.^2 - Y.^2; colorscale = [1:18; 18:-1:1]; C = repmat(colorscale,9,1);
C
의 색을 사용하여 XX
와 YY
를 플로팅합니다.
pcolor(XX,YY,C);
tiledlayout
함수를 호출하여 1×2 타일 형식 차트 레이아웃을 만듭니다. nexttile
함수를 호출하여 axes 객체 ax1
과 ax2
를 만듭니다. 좌표축을 pcolor
의 첫 번째 인수로 지정하여 두 개의 의사색상 플롯을 만듭니다.
tiledlayout(1,2) % Left plot ax1 = nexttile; C1 = rand(20,10); pcolor(ax1,C1) % Right plot ax2 = nexttile; C2 = rand(50,10); pcolor(ax2,C2)
입력 인수
컬러맵에 대한 인덱스를 포함하는 색상 행렬. C
의 값은 컬러맵 배열의 색을 각 면을 둘러싸는 꼭짓점으로 매핑합니다. 면의 색은 4개의 꼭짓점 중 하나의 색에 의해 결정됩니다. 4개의 꼭짓점 중에서 X
와 Y
에 가장 먼저 나타나는 꼭짓점이 면의 색을 결정합니다. X
와 Y
를 지정하지 않으면 MATLAB은 X=1:n
과 Y=1:m
을 사용합니다. 여기서 [m,n] = size(C)
입니다. 꼭짓점 색과 면 색 사이에 이러한 관계가 있기 때문에 C
의 마지막 행과 열에 있는 어떠한 값도 플롯에서 표현되지 않습니다.
참고
면의 첫 번째 꼭짓점은 대응하는 행렬의 왼쪽 상단 코너에서 가장 가까운 꼭짓점입니다. 그러나 y축은 아래에서 위로 늘어나므로 플롯에 표시되는 첫 번째 꼭짓점은 일반적으로 면의 왼쪽 하단 코너에 있는 꼭짓점입니다. 따라서 정확히 원하는 효과를 얻으려면 y축의 방향이나 행렬 C
의 방향을 변경해야 할 수 있습니다.
꼭짓점과 면의 색 관계를 보여주는 간단한 예제는 4개의 색으로 4개의 면 플로팅하기 항목을 참조하십시오.
C
의 값은 컬러맵의 전체 범위로 스케일링됩니다. C
의 가장 작은 값은 컬러맵 배열의 첫 번째 행에 매핑됩니다. C
의 가장 큰 값은 컬러맵 배열의 마지막 행에 매핑됩니다. C
의 중간값은 컬러맵 배열의 중간 행에 선형적으로 매핑됩니다. clim
함수를 사용하여 이 매핑을 조정할 수 있습니다.
R2022a 이전: clim
과 동일한 구문과 인수를 가지는 caxis
함수를 사용하십시오.
C
의 값은 Surface
객체의 CData
속성에 저장됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
x 좌표로, C
와 크기가 동일한 행렬 또는 길이가 n
인 벡터로 지정됩니다(여기서 [m,n] = size(C)
임). X
의 디폴트 값은 벡터 (1:n)
입니다.
꼭짓점으로 구성된 사각 그리드를 만들려면 X
를 다음 중 하나로 지정하십시오.
파라미터 그리드를 만들려면 사각 그리드를 만들고 이 그리드를 수학 함수에 사용하십시오.
예: X = 1:10
예: X = [1 2 3; 1 2 3; 1 2 3]
예: [X,Y] = meshgrid(1:10)
Surface
객체의 XData
속성에는 x 좌표가 저장됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
y 좌표로, C
와 크기가 동일한 행렬 또는 길이가 m
인 벡터로 지정됩니다(여기서 [m,n] = size(C)
임). Y
의 디폴트 값은 벡터 (1:m)
입니다.
꼭짓점으로 구성된 사각 그리드를 만들려면 Y
를 다음 중 하나로 지정하십시오.
파라미터 그리드를 만들려면 사각 그리드를 만들고 이 그리드를 수학 함수에 사용하십시오.
예: Y = 1:10
예: Y = [1 1 1; 2 2 2; 3 3 3]
예: [X,Y] = meshgrid(1:10)
Surface
객체의 YData
속성에는 y 좌표가 저장됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| categorical
| datetime
| duration
플로팅할 좌표축으로, Axes
객체 또는 PolarAxes
객체로 지정됩니다. 좌표축을 지정하지 않는 경우 pcolor
함수는 현재 좌표축에 플로팅되거나 Axes
객체(카테시안 좌표축)를 만듭니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: pcolor([1 2 3; 4 5 6; 7 8 9],FaceColor="interp")
는 면 전체에 걸쳐 색을 보간합니다.
참고
여기에 나와 있는 속성은 일부에 불과합니다. 전체 목록을 보려면 Surface 속성를 참조하십시오.
면 색으로, 이 표에 있는 값 중 하나로 지정됩니다.
값 | 설명 |
---|---|
'flat' |
|
'interp' |
|
RGB 3색, 16진수 색 코드 또는 색 이름 | 모든 면에 지정된 색을 사용합니다. 이 옵션은
|
'texturemap' | 곡면에 맞게 CData 의 색 데이터를 변환합니다. |
'none' | 면을 그리지 않습니다. |
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" |
다음 표에는 라이트 테마와 다크 테마에서 플롯의 디폴트 색 팔레트가 나열되어 있습니다.
팔레트 | 팔레트 색 |
---|---|
R2025a 이전: 대부분의 플롯은 기본적으로 이 색을 사용합니다. |
|
|
|
orderedcolors
함수와 rgb2hex
함수를 사용하여 이러한 팔레트의 RGB 3색과 16진수 색 코드를 가져올 수 있습니다. 예를 들어, "gem"
팔레트의 RGB 3색을 가져와서 16진수 색 코드로 변환해 보겠습니다.
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
R2023b 이전: RGB = get(groot,"FactoryAxesColorOrder")
를 사용하여 RGB 3색을 가져옵니다.
R2024a 이전: H = compose("#%02X%02X%02X",round(RGB*255))
를 사용하여 16진수 색 코드를 가져옵니다.
모서리 선 색으로, 여기에 나열된 값 중 하나로 지정됩니다. 디폴트 색 [0 0 0]
은 검은색 모서리에 해당합니다.
값 | 설명 |
---|---|
'none' | 모서리를 그리지 않습니다. |
'flat' |
|
'interp' |
|
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" | |
"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" |
다음 표에는 라이트 테마와 다크 테마에서 플롯의 디폴트 색 팔레트가 나열되어 있습니다.
팔레트 | 팔레트 색 |
---|---|
R2025a 이전: 대부분의 플롯은 기본적으로 이 색을 사용합니다. |
|
|
|
orderedcolors
함수와 rgb2hex
함수를 사용하여 이러한 팔레트의 RGB 3색과 16진수 색 코드를 가져올 수 있습니다. 예를 들어, "gem"
팔레트의 RGB 3색을 가져와서 16진수 색 코드로 변환해 보겠습니다.
RGB = orderedcolors("gem");
H = rgb2hex(RGB);
R2023b 이전: RGB = get(groot,"FactoryAxesColorOrder")
를 사용하여 RGB 3색을 가져옵니다.
R2024a 이전: H = compose("#%02X%02X%02X",round(RGB*255))
를 사용하여 16진수 색 코드를 가져옵니다.
선 스타일로, 다음 표에 나열된 옵션 중 하나로 지정됩니다.
선 스타일 | 설명 | 결과 선 |
---|---|---|
"-" | 실선 |
|
"--" | 파선 |
|
":" | 점선 |
|
"-." | 일점 쇄선 |
|
"none" | 선 없음 | 선 없음 |
알고리즘
색이 적용된 셀로 구성된 사각 배열을 표시하려면 pcolor
, image
및 imagesc
함수를 사용하십시오. 색상 행렬 C
와 색이 적용된 셀 사이의 관계는 각각의 경우마다 달라집니다.
pcolor(C)
는C
의 값을 컬러맵의 전체 범위로 스케일링하여 꼭짓점 색을 정의합니다.C
의 크기가 꼭짓점 개수를 결정합니다.C
의 값은 현재 컬러맵의 색을 각 셀을 둘러싸는 꼭짓점으로 매핑합니다.image(C)
는C
의 값을 컬러맵에 바로 매핑하여 셀 색을 정의합니다.C
의 크기가 셀 개수를 결정합니다.imagesc(C)
는C
의 값을 컬러맵의 전체 범위로 스케일링하여 셀 색을 정의합니다.C
의 크기가 셀 개수를 결정합니다.
확장 기능
pcolor
함수는 GPU 배열 입력값을 지원하지만 다음과 같은 사용법 관련 참고 및 제한 사항이 있습니다.
이 함수는 GPU 배열을 받지만 GPU에서 실행되지는 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
이 함수는 분산 배열에 대해 연산을 수행하지만 클라이언트 측의 MATLAB에서 실행됩니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨PolarAxes
객체를 첫 번째 인수로 지정하여 극좌표에 의사색상 플롯을 만들 수 있습니다.
이름-값 인수를 지정하여 의사색상 플롯의 모양과 동작을 제어합니다. 이전에는 pcolor
함수가 이름-값 인수를 지원하지 않았습니다.
참고 항목
함수
속성
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)