MATLAB에는 다양한 colormap이 있어서 다양한 색상으로 그래프를 표현하곤 하는데요~
아래 매뉴얼어서도 볼 수 있듯이 많이 사용하는 색상 테이블들이 default 로 제공됩니다.
http://www.mathworks.co.kr/kr/help/matlab/ref/colormap.html
기본적으로 제공되는 built-in colormaps 들은 다음과 같은데요.
jet, hsv, hot, cool, spring, summer, autumn, winter, gray, bone, copper, pink, lines
이런 built-in colormap중에도 자신이 사용하고자 하는 색상 테이블이 없는 경우가 있습니다.
이럴때는 당연히 자신만의 colormap 을 만들어서 사용해야겠죠.
colormap이라는게 RGB 값으로 구성된 테이블이므로 RGB 값을 매트릭스의 형태로 만들어도 되지만 이러한 방법보다는 자신이 직접 색상을 확인하면서 colormap 을 만드는게 편리하겠죠~
MATLAB 에는 색상을 확인하면서 colormap 을 설정할 수 있도록 colormapeditor 라는 툴을 제공해 줍니다.
http://www.mathworks.co.kr/kr/help/matlab/ref/colormapeditor.html
MATLAB command windows에서 colormapeditor라는 명령어를 치면 Figure 창과 함께 다음과 같은 Colormap Editor가 나타납니다.
자신만의 colormap을 설정하기 위해 중간에 있는 색상 Marker 들을 클릭하고 좌우로 드래그 해 보시면 색상의 인덱스 들이 바뀌는 것을 확인 할 수 있습니다.
다음으로 색상을 바꾸고 싶은 Marker 를 클릭한 후에 Ctrl+B를 누르거나 Edit → Edit Marker Color 를 누르면 색상을 변경 가능합니다.
이렇게 선택하면 다음과 같이 바뀐 것을 확인 할 수 있습니다.
다음으로 색상을 좀더 넣고 싶다면 다음과 같이 해당 색상 부분을 클릭하시면 추가적인 색상을 넣을 수 있는 Marker가 생성 됩니다.
원하는 colormap으로 변경 완료 했다면 이제 Apply 버튼을 눌러서 현재의 Figure창에 적용 합니다.
적용을 했으면 colormap을 저장해야겠죠~
다음 명령어로 바뀌어진 colormap을 mycmap 라는 변수에 저장하고
mycmap = get(gcf,'Colormap'); % 현재 figure 창의 colormap을 선택
향후에도 사용하기 위해 파일에 MyColormaps 라는 파일에 저장합니다.
save('MyColormaps','mycmap') % MyColormaps 파일에 colormap 저장
향후에 이전에 만들었던 colormap을 사용하고 싶다면 다음과 같이 파일로부터 colormap을 로드해서 사용할 수 있습니다.
load('MyColormaps','mycmap') % MyColormaps 파일에서 colormap load 해서 사용
mycmap라는 colormap을 사용할 때는 다음과 같이 합니다. 아래 명령에서 new_fig는 colormap을 적용하고자 하는 Figure handle 입니다.
set(new_fig,'Colormap',mycmap)
이상으로 Colormap Editor 를 이용한 커스텀 colormap 생성방법에 대한 소개를 마치겠구요.
혹시 이런 GUI 가 아닌 함수를 사용해서 colormap을 만들고자 하시는 분들은 아래 주소의 글들을 참조하면 도움이 되실 것 같네요.
http://www.mathworks.com/matlabcentral/fileexchange/40318-build-custom-colormaps
http://cresspahl.blogspot.kr/2012/03/expanded-control-of-octaves-colormap.html
'programming language > MATLAB' 카테고리의 다른 글
MATLAB FSK(Frequency Shift Keying) BER simulation (6) | 2013.12.27 |
---|---|
MATLAB 소프트웨어 단속 하나 보네요~ (13) | 2013.12.25 |
MATLAB Churchill equation GUI (0) | 2013.12.10 |
MATLAB reshape() (0) | 2013.11.29 |
MATLAB unipolar signaling BER simulation in AWGN channel (8) | 2013.11.18 |
Autohotkey를 사용한 MATLAB 단축키 (4) | 2013.11.18 |
MATLAB clipboard() 함수를 사용한 복사 붙여넣기 (0) | 2013.11.11 |
MATLAB comma로 나눠진 파일(csv) 읽기 csvread(), 쓰기 csvwrite() (0) | 2013.11.09 |
댓글