컬러맵 제한 제어하기
사용자가 생성하는 여러 시각화 유형에 대해 MATLAB®은 기본적으로 데이터의 전체 범위를 컬러맵에 매핑합니다. 데이터에서 가장 작은 값은 컬러맵의 첫 번째 행에 매핑되고, 가장 큰 값은 컬러맵의 마지막 행에 매핑됩니다. 모든 중간값은 컬러맵의 중간 행에 선형적으로 매핑됩니다.
이 디폴트 매핑은 대부분의 경우에 유용하지만, 원한다면 선택하는 범위에 대한 매핑을 수행할 수 있습니다. 선택하는 범위가 데이터 범위와 다른 경우에도 가능합니다. 다른 매핑 범위를 선택하면 다음을 수행할 수 있습니다.
데이터가 해당 범위의 제한에서 또는 제한을 벗어나 어느 위치에 있는지 확인할 수 있습니다.
데이터가 해당 범위 내에 어디에 있는지 확인할 수 있습니다.
–10 ≤ x ≤ 10이고 –10 ≤ y ≤ 10인 곡면 Z = X + Y를 고려해 보겠습니다.
[X,Y] = meshgrid(-10:10); Z = X + Y; s = surf(X,Y,Z); xlabel('X'); ylabel('Y'); zlabel('Z = C'); colorbar
곡면 플롯 데이터와 컬러맵 간의 관계 항목에서는 위 경우에서 색을 제어하는 속성을 설명합니다. 본질적으로, Surface
객체의 CData
속성에는 곡면의 각 그리드 점과 컬러맵의 색을 연결하는 배열 C
가 포함됩니다. 기본적으로, C
는 Z
와 같습니다. 여기서 Z
는 그리드 점에서 z = f(x,y) 값을 포함하는 배열입니다. 따라서 색은 Z
가 변경됨에 따라 달라집니다.
매핑 범위는 Axes
객체의 CLim
속성으로 제어됩니다. 이 속성에는 [cmin cmax]
형식의, 요소를 2개 가진 벡터가 포함됩니다. cmin
의 디폴트 값은 C
의 가장 작은 값과 같고, cmax
의 디폴트 값은 C
의 가장 큰 값과 같습니다. 이 경우, C
의 범위는 Z
의 범위를 반영하므로, CLim
은 [-20 20]
입니다.
CLim
을 [0 20]
으로 변경하면 0
이하의 모든 값이 컬러맵의 첫 번째 색에 맞게 잘립니다.
clim
함수는 CLim
속성을 [0 20]
으로 변경합니다. 곡면의 아래쪽 절반이 컬러맵의 첫 번째 색(진한 파란색)에 매핑됩니다. 이러한 클리핑이 발생하는 이유는 해당 점에서 C
(Z
와 같음)가 0 이하이기 때문입니다.
clim([0 20])
R2022a 이전: caxis([0 20])
을 사용하여 컬러맵 제한을 변경합니다.
또한, 매핑 범위를 넓혀서 데이터가 해당 범위 내의 어디에 있는지 확인할 수 있습니다. 예를 들어, 범위를 [-60 20]
으로 변경하면 곡면에서 색의 절반만 사용하게 됩니다. 컬러맵의 아래쪽 절반은 C
의 범위 외부에 있는 값에 대응되므로 해당 색은 곡면에 나타나지 않습니다.
clim([-60 20])
R2022a 이전: caxis([-60 20])
을 사용하여 컬러맵 제한을 변경합니다.
참고
곡면 플롯, 패치, 이미지 또는 컬러맵을 사용하는 모든 그래픽스 객체에 대해 CLim
속성을 설정할 수 있습니다. 그러나 이 속성은 CDataMapping
속성이 'scaled'
로 설정된 그래픽스 객체에만 영향을 줍니다. CDataMapping
속성이 'direct'
로 설정된 경우에는 C
의 모든 값이 스케일링 없이 컬러맵의 요소를 직접 참조합니다. 1보다 작은 C
의 모든 값은 컬러맵의 첫 번째 색에 맞게 잘립니다. 컬러맵의 길이보다 큰 C
의 모든 값은 컬러맵의 마지막 색에 맞게 잘립니다.
참고 항목
clim
| colormap
| colorbar
| surf