LEGO형 Surface

IDL 기본교육을 진행할 때, Contour와 Surface, Image는 일단 함께 설명을 드립니다. 이들 3가지 함수는 모두 2차원 배열을 표출하기 위해 존재하는 그래픽 함수이기 때문입니다. 물론 각각의 기능은 특화된 속성들을 가지고 있는데, Surface의 경우에는 STYLE=’LEGO’와 STYLE=’LEGOFilled’ 라는 옵션을 가지고 있습니다. 예상대로 Lego 블록을 쌓듯이 Surface를 사각기둥들로 구성하라는 옵션인데, 가끔 이런 질문을 받습니다.

“그거 어디에 쓰나요?”

글쎄요. 제 경우에는 2차원 Histogram 표출에만 사용하는 것 같습니다(다른 사용예가 있으면 공유해 주세요). 예를 들면, 특정현상이 발생한 날들을 가로방향을 ‘월’, 세로방향을 ‘연’으로 카운트하여 2차원 배열을 만들고, 이를 표출할 때, Lego Surface를 사용하면 편리합니다.

s=surface(count, indgen(12)+0.5, indgen(20)+1973.5, STYLE=’LegoFilled’, Color=’Light Steel Blue’)

s=surface(count, style='LegoFilled')

s=surface(count, style=’LegoFilled’)

이와 같은 2차원 Histogram을 카운트하는 IDL 함수는 HIST_2D가 있습니다.

count=hist_2d(month, year, BIN1=1, BIN2=1, MIN1=1, max1=12, min2=1973, max2=1992)

가로방향 month축과 세로방향 year 축에 해당하는 개수를 카운트하는 함수인데, 가로방향은 bin1, max1, min1 등의 키워드로, 세로방향은 bin2, max2, min2 등의 키워드로 제어합니다.

HIST_2D의 결과를 Image로 표출할 때도 많이 있지만, SURFACE와 STYLE=’LEGO’ 또는 STYLE=’LegoFilled’ 조합으로 사용하여 표출하는 경우도 종종 있습니다.