Main Content

mesh

메시 곡면 플롯

  • Mesh surface plot

설명

예제

mesh(X,Y,Z)는 가장자리가 단색이고 면 색은 없는 3차원 곡면인 메시 플롯을 만듭니다. 이 함수는 행렬 Z의 값을 XY로 정의된 x-y 평면의 그리드 위 높이로 플로팅합니다. 가장자리 색은 Z로 지정되는 높이에 따라 변합니다.

mesh(Z)는 메시 플롯을 만들고, Z에 있는 요소의 열 인덱스와 행 인덱스를 x 좌표와 y 좌표로 사용합니다.

mesh(Z,C)는 가장자리의 색을 추가로 지정합니다.

예제

mesh(___,C)는 가장자리의 색을 추가로 지정합니다.

mesh(ax,___)는 현재 좌표축 대신 ax로 지정된 좌표축에 플로팅됩니다. 좌표축을 첫 번째 입력 인수로 지정합니다.

예제

mesh(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 surface 속성을 지정합니다. 예를 들어, 'FaceAlpha',0.5는 반투명 메시 플롯을 만듭니다.

예제

s = mesh(___)은 chart surface 객체를 반환합니다. 메시 플롯이 생성된 후 이를 수정하려면 s를 사용하십시오. 속성 목록은 Surface 속성를 참조하십시오.

예제

모두 축소

동일한 크기의 행렬을 3개 만듭니다. 그런 다음 이들 행렬을 메시 플롯으로 플로팅합니다. 플롯은 높이와 색에 모두 Z를 사용합니다.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)

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

4번째 행렬 입력 인수 C를 포함시켜 메시 플롯에 대한 색을 지정합니다. 메시 플롯은 높이에는 Z, 색에는 C를 사용합니다. 단일 숫자를 통해 스펙트럼의 다양한 색을 나타내는 컬러맵을 사용하여 색을 지정합니다. 컬러맵을 사용할 경우 CZ와 크기가 같습니다. 그래프에 컬러바를 추가하여 C의 데이터 값이 컬러맵의 색에 대응되는 방식을 표시합니다.

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
C = X.*Y;
mesh(X,Y,Z,C)
colorbar

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

4번째 행렬 입력 인수 CO를 포함시켜서 메시 플롯에 대한 색을 지정합니다. 메시 플롯은 높이에는 Z, 색에는 CO를 사용합니다. 세 개의 숫자를 통해 가능한 모든 색을 나타내는 트루컬러를 사용하여 색을 지정합니다. 트루컬러를 사용할 경우 Zm×n이면 COm×n×3입니다. 배열의 첫 번째 페이지는 각 색의 빨간색 성분을 나타내고, 두 번째 페이지는 녹색 성분을 나타내며, 세 번째 페이지는 파란색 성분을 나타냅니다.

[X,Y,Z] = peaks(25);
CO(:,:,1) = zeros(25); % red
CO(:,:,2) = ones(25).*linspace(0.5,0.6,25); % green
CO(:,:,3) = ones(25).*linspace(0,1,25); % blue
mesh(X,Y,Z,CO)

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

FaceAlpha 이름-값 쌍의 값으로 0.5를 지정하여 반투명 메시 곡면을 만듭니다. 추가적인 수정을 허용하려면 surface 객체를 변수 s에 할당하십시오.

[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = mesh(X,Y,Z,'FaceAlpha','0.5')

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

s = 
  Surface with properties:

       EdgeColor: 'flat'
       LineStyle: '-'
       FaceColor: [1 1 1]
    FaceLighting: 'none'
       FaceAlpha: 0.5000
           XData: [21x21 double]
           YData: [21x21 double]
           ZData: [21x21 double]
           CData: [21x21 double]

  Use GET to show all properties

메시 플롯이 s에 생성되면 이를 통해 메시 플롯의 속성에 액세스하고 수정할 수 있습니다. 예를 들어, FaceColor 속성을 설정하여 메시 플롯의 면에 색을 추가해 보겠습니다.

s.FaceColor = 'flat';

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

입력 인수

모두 축소

x 좌표로, Z와 크기가 동일한 행렬 또는 길이가 n인 벡터로 지정됩니다(여기서 [m,n] = size(Z)임). XY에 대한 값을 지정하지 않으면 mesh는 벡터 (1:n)(1:m)을 사용합니다.

meshgrid 함수를 사용하여 XY 행렬을 만들 수 있습니다.

surface 객체의 XData 속성은 x 좌표를 저장합니다.

예: X = 1:10

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

예: [X,Y] = meshgrid(-5:0.5:5)

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

y 좌표로, Z와 크기가 동일한 행렬 또는 길이가 m인 벡터로 지정됩니다(여기서 [m,n] = size(Z)임). XY에 대한 값을 지정하지 않으면 mesh는 벡터 (1:n)(1:m)을 사용합니다.

meshgrid 함수를 사용하여 XY 행렬을 만들 수 있습니다.

surface 객체의 YData 속성은 y 좌표를 저장합니다.

예: Y = 1:10

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

예: [X,Y] = meshgrid(-5:0.5:5)

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

z 좌표로, 행렬로 지정됩니다. Z에는 적어도 두 개의 행과 두 개의 열이 있어야 합니다.

Z는 각 x-y 좌표에서 메시 플롯의 높이를 지정합니다. 색을 지정하지 않으면 Z가 메시 가장자리 색도 지정합니다.

surface 객체의 ZData 속성은 z 좌표를 저장합니다.

예: Z = [1 2 3; 4 5 6]

예: Z = sin(x) + cos(y)

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

색 배열로, 컬러맵 인덱스로 구성된 m×n 행렬 또는 RGB 3색으로 구성된 m×n×3 배열로 지정됩니다. 이때 Zm×n입니다.

  • 컬러맵 색을 사용하려면 C를 행렬로 지정하십시오. 메시 곡면에 있는 각각의 그리드 점에 대해, C는 컬러맵의 색을 나타냅니다. surface 객체의 CDataMapping 속성은 C의 값이 컬러맵의 색에 대응되는 방식을 제어합니다.

  • 트루컬러 색을 사용하려면 C를 RGB 3색으로 구성된 배열로 지정하십시오.

자세한 내용은 컬러맵과 트루컬러의 차이점 항목을 참조하십시오.

surface 객체의 CData 속성은 색 배열을 저장합니다. 곡면 색 지정을 추가로 제어하려면 FaceColor 속성과 EdgeColor 속성을 사용하십시오.

플로팅할 좌표축으로, axes 객체로 지정됩니다. 좌표축을 지정하지 않을 경우 mesh는 현재 좌표축에 플로팅됩니다.

이름-값 인수

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

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

예: mesh(X,Y,Z,'FaceAlpha',0.5)는 반투명 메시 플롯을 생성합니다.

참고

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

모서리 선 색으로, 여기에 나열된 값 중 하나로 지정됩니다. 디폴트 색 [0 0 0]은 검은색 모서리에 해당합니다.

설명
'none'모서리를 그리지 않습니다.
'flat'

CData 속성의 값을 기반으로 하여 각 모서리에 다른 색을 사용합니다. 먼저 CData 속성을 ZData와 크기가 같은 행렬로 지정해야 합니다. 각 면 첫 번째 꼭짓점의 색 값(양의 x와 y 방향)은 인접 모서리의 색을 결정합니다. EdgeAlpha 속성이 'interp'로 설정된 경우 이 값을 사용할 수 없습니다.

Sample of a surface with each edge a different color based on sample values in the CData property

'interp'

CData 속성의 값을 기반으로 하여 각 모서리에 보간된 색을 사용합니다. 먼저 CData 속성을 ZData와 크기가 같은 행렬로 지정해야 합니다. 꼭짓점에서 색 값을 선형적으로 보간하므로 모서리마다 색이 달라집니다. EdgeAlpha 속성이 'flat'으로 설정된 경우 이 값을 사용할 수 없습니다.

Sample of a surface with each edge showing different interpolated coloring based on sample values in the CData property

RGB 3색, 16진수 색 코드 또는 색 이름

모든 모서리에 지정된 색을 사용합니다. 이 옵션은 CData 속성의 색 값을 사용하지 않습니다.

Sample of a surface with all edges shown in red

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

다음은 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

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

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

Sample of solid line

"--"파선

Sample of dashed line

":"점선

Sample of dotted line

"-."일점 쇄선

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

"none"선 없음선 없음

면 색으로, 이 표에 있는 값 중 하나로 지정됩니다.

설명
'flat'

CData 속성의 값에 따라 각 면에 각각 다른 색을 사용합니다. 먼저 CData 속성을 ZData와 크기가 같은 행렬로 지정해야 합니다. 각 면 첫 번째 꼭짓점의 색 값(양의 x와 y 방향)은 전체 면의 색을 결정합니다. FaceAlpha 속성이 'interp'로 설정된 경우 이 값을 사용할 수 없습니다.

Sample of a surface with each face a different color based on sample values in the CData property

'interp'

CData 속성의 값에 따라 각 면에 보간된 색을 사용합니다. 먼저 CData 속성을 ZData와 크기가 같은 행렬로 지정해야 합니다. 꼭짓점에서 색 값을 보간하므로 면마다 색이 달라집니다. FaceAlpha 속성이 'flat'으로 설정된 경우 이 값을 사용할 수 없습니다.

Sample of a surface with each face showing different interpolated coloring based on sample values in the CData property

RGB 3색, 16진수 색 코드 또는 색 이름

모든 면에 지정된 색을 사용합니다. 이 옵션은 CData 속성의 색 값을 사용하지 않습니다.

Sample of a surface with all faces shown in red

'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"

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

다음은 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

면 투명도로, 다음 값 중 하나로 지정됩니다.

  • 범위 [0,1] 사이에 있는 스칼라 값 — 모든 면에 균일한 투명도를 사용합니다. 값이 1이면 완전히 불투명하고 0이면 완전히 투명합니다. 01 사이의 값을 지정하면 반투명해집니다. 이 옵션은 AlphaData 속성의 투명도 값을 사용하지 않습니다.

  • 'flat'AlphaData 속성의 값에 따라 각 면에 서로 다른 투명도를 사용합니다. 첫 번째 꼭짓점의 투명도 값에 따라 전체 면의 투명도가 결정됩니다. 먼저 AlphaData 속성을 ZData 속성과 크기가 같은 행렬로 지정해야 합니다. 또한 FaceColor 속성이 'flat'으로 설정되어 있어야 합니다.

  • 'interp'AlphaData 속성의 값에 따라 각 면에 보간된 투명도를 사용합니다. 꼭짓점의 값을 보간하기 때문에 각 면에서 투명도가 다릅니다. 먼저 AlphaData 속성을 ZData 속성과 크기가 같은 행렬로 지정해야 합니다. 또한 FaceColor 속성이 'interp'로 설정되어 있어야 합니다.

  • 'texturemap' — 곡면에 맞게 AlphaData의 데이터를 변환합니다.

면에 대한 light 객체 효과로, 다음 값 중 하나로 지정됩니다.

  • 'flat' — 각 면에 걸쳐 균일하게 조명을 적용합니다. 이 값을 사용하면 패싯 처리된 객체를 볼 수 있습니다.

  • 'gouraud' — 각 면 간에 조명이 달라집니다. 꼭짓점에서 조명을 계산한 후 각 면 간에 조명을 선형으로 보간합니다. 이 값을 사용하면 곡선 처리된 곡면을 볼 수 있습니다.

  • 'none' — light 객체의 조명을 면에 적용하지 않습니다.

light 객체를 좌표축에 추가하려면 light 함수를 사용하십시오.

참고

'phong' 값은 제거되었습니다. 'gouraud'를 대신 사용하십시오.

  • 플롯에서 숨겨진 선을 제거하려면 hidden 함수를 사용하십시오.

  • 플롯 곡면의 색 음영을 제어하려면 shading 함수를 사용하십시오.

  • 면 색을 가진 3차원 곡면을 만들려면 surf 함수를 사용하십시오.

확장 기능

버전 내역

R2006a 이전에 개발됨