반응형

IDL/New Graphics 137

그래픽 창의 위치를 직접 제어하는 방법

IDL에서 그림을 표출하는데 있어서는 그래픽 창을 띄우는 것은 필수입니다. 그래픽 창이 떠야 그 위에 그림을 표출할 수 있다는 것은 뭐 당연한 얘기일 것입니다. 일단 NG(New Graphics) 체계를 기준으로 얘기하면 여기서는 그래픽 창을 띄울 때 WINDOW 함수를 사용하게 됩니다. 그런데 만약 다수의 그래픽 창들을 연속하여 띄울 경우에는 마치 순차적으로 약간씩 어긋나게 차곡차곡 쌓이는듯한 느낌으로 생성됩니다. 간단한 테스트를 위하여 다음과 같이 IDL의 커맨드 창에서 다수의 그래픽 창들을 연속적으로 띄우도록 하면 이 그래픽 창들은 화면상에서 대략 다음과 같은 모습으로 뜰 것입니다. IDL> w1 = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) IDL> w2 = WI..

IDL/New Graphics 2024.05.09

등위선(Contour) 그림의 각종 색상 설정 방법들 [2]

지난 회차 게시물에서는 NG 체계에서 CONTOUR 함수를 사용하여 등위선 그림을 표출하는데 있어서 색상과 관련된 각종 속성들을 이용한 설정 방법에 관하여 살펴보았습니다. 여기서는 주로 등위선의 선(Line) 자체 및 문자들에 대한 색상 처리에 관하여 살펴보았는데요. 오늘은 이어지는 내용으로서 CONTOUR 함수를 사용하여 색상이 채워진 등위선(Filled Contour) 그림을 표출하는데 있어서 색상을 설정하는 방법에 관하여 살펴보고자 합니다. 그러면 지난 회차에서와 동일한 예제를 사용하여 기본적인 표출부터 먼저 해놓고 시작하겠습니다. 다만 여기서는 색상이 채워진 등위선의 형태로 표출하기 위하여 FILL 속성을 처음부터 사용하기로 합니다. data1 = FLTARR(600, 600) data2 = FL..

IDL/New Graphics 2024.03.25

등위선(Contour) 그림의 각종 색상 설정 방법들 [1]

IDL의 NG 체계에서 등위선(Contour)의 표출에 사용되는 CONTOUR 함수를 보면 색상과 관련된 속성들이 여러 개 있습니다. IDL 도움말에서 CONTOUR 함수에 관한 섹션을 보면 이러한 속성들 즉 "COLOR"라는 문구가 붙은 것들이 몇 개 보이는데 정리해보면 대략 다음과 같습니다. BACKGROUND_COLOR C_COLOR COLOR LABEL_COLOR FONT_COLOR VERT_COLORS 그리고 이렇게 "COLOR"라는 문구가 붙은 속성들 외에도 색상과 관련된 기타 속성들이 몇 개 더 있습니다. RGB_TABLE RGB_INDICES 사실 이와 같이 명칭이 다소 헷갈리는 속성들이 있다보니 이들을 어떤 식으로 활용하면 되는가에 있어서 약간 혼란스럽게 느껴질 수도 있습니다. 따라서 오..

IDL/New Graphics 2024.03.20

다수의 그림들에 대한 OVERPLOT 및 TARGET의 활용법

IDL에서 그림을 표출해놓은 상태에서 그 위에 추가 요소를 중첩해야 하는 경우들이 종종 있습니다. 예를 들어 플롯(Plot) 그림을 표출한 상태에서 추가로 새로운 데이터를 중첩하려면 /OVERPLOT 키워드를 사용하면 됩니다. 그리고 이미 표출된 그림 위에 문자, 기호 등을 추가하는 것도 얼마든지 가능합니다. 그런데 한꺼번에 여러 개의 그림들이 표출된 상태에서 특정한 그림에 대하여 뭔가를 더 추가해야하는 경우가 있습니다. 오늘은 그러한 경우의 적절한 처리 방법에 관하여 소개해보고자 합니다. 본격적인 설명을 위하여 하나의 그래픽창에 3종의 그림들이 한꺼번에 표출되는 상황을 예로 들어보겠습니다. 먼저 예제 데이터의 생성 및 기본적인 표출 과정은 다음과 같습니다. x = FINDGEN(361) y1 = SIN..

IDL/New Graphics 2024.03.12

축의 라벨 문자들의 회전 처리

IDL에서 X축, Y축 등으로 구성되는 그림을 그리게 되면 각 축에는 눈금 및 라벨 문자들이 붙게 됩니다. 일단 예제 데이터를 생성하고 플롯을 먼저 표출해보면 그 과정 및 결과 그림은 다음과 같습니다. x = FINDGEN(301)*100 y = 1.7*SIN(1.3*x*!PI/250.0)*EXP(-0.002*x) win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) p = PLOT(x, y, COLOR='crimson', FONT_SIZE=11, /CURRENT) 이 플롯에서 X축을 보면 0~3000의 범위이며 500의 간격으로 7개의 눈금들에 대하여 라벨 문자들이 표기되어 있습니다. 그리고 문자의 방향은 당연히 정방향입니다. 그냥 이렇게만 표출해도 별다른 문제는 없습..

IDL/New Graphics 2024.02.05

데이터 포인트들을 다양한 색상으로 표출하기 [2]

제가 얼마전에 "데이터 포인트들을 다양한 색상으로 표출하기"라는 제목의 게시물을 올린 바 있습니다. 기본적으로는 2차원 공간상에 흩어져있는 다수의 데이터 포인트들이 있고 각 포인트마다 데이터 값이 있을 경우를 가정하고, 이러한 데이터를 2차원 공간상에서 표시하면서 각 포인트마다 데이터 값에 따라 색상을 부여하는 방식으로 표출하는 방법에 관한 내용이었습니다. 오늘은 그 연장선에서 한 단계 더 들어가보고자 하는데요. 데이터 포인트들을 다양한 색상으로 표시하면서 윤곽선도 함께 표시되도록 하는 방법에 관하여 알아보고자 합니다. 원래 SCATTERPLOT 함수에서는 각 포인트의 윤곽선에 대한 설정은 가능합니다. 특히 SYM_COLOR 속성을 사용하면 각 포인트의 심볼의 윤곽선 색상을 설정할 수 있고 SYM_FIL..

IDL/New Graphics 2023.07.31

Refresh 메서드를 활용한 표출 시간 절약법

우리가 NG 체계에서 그림 표출을 할 때, 다수의 그래픽 개체들이 한 판에 올라가도록 해야 하는 경우들이 종종 있습니다. 즉 기본이 되는 그림을 하나 표출해놓고 그 위에 다른 그래픽 요소들을 계속 중첩해가는 경우입니다. 이런 예제를 들자면 뭐 수도 없이 많겠지만, 제가 예전에 게시물로 올렸던 케이스 하나를 예로 들어보겠습니다. 해당 게시물의 링크는 다음과 같습니다. https://swrush.tistory.com/678 이 예제에서는 다음과 같은 표출 결과를 얻게 되어있습니다. 이와 같이 서피스 기반의 그림 상에 지도, 이미지, 등위선 형태의 그림들을 중첩하는 과정입니다. 그리고 전체적인 과정에 해당되는 소스 프로그램은 다음과 같습니다. PRO test_map_image_contour_3d TIC dat..

IDL/New Graphics 2023.07.26

데이터 포인트들을 다양한 색상으로 표출하기 [1]

2차원 공간상에 흩어져있는 다수의 데이터 포인트들이 있고 각 포인트마다 데이터 값이 있을 경우를 가정하고, 이러한 데이터를 2차원 공간상에서 표시하면서 각 포인트마다 데이터 값에 따라 색상을 부여하는 방식으로 표출하는 방법에 관하여 살펴보고자 합니다. 사실 이러한 주제의 게시물들을 제가 예전에 두어번 정도 올린 적이 있기는 하지만 이번에 새롭게 다시 정리를 해보고자 합니다. 일단 가상의 데이터를 다음과 같이 생성해봅시다. n = 1000 x = RANDOMU(-1, n)*100 y = RANDOMU(-2, n)*100 v = RANDOMU(-3, n)*10 여기서는 1000개의 데이터 포인트들을 가정하고, 각 포인트에 대한 X 좌표, Y 좌표 및 데이터값에 해당되는 배열인 x, y, v를 생성한 것입니다..

IDL/New Graphics 2023.05.31

3차원 공간상에서 지도와 타 그래픽 요소의 중첩 표출 [2]

지난 회차에 이어서 오늘은 두번째 순서로서 3차원 그래픽 공간에서 지도를 바닥에 깔고 그 위에 이미지(Image) 또는 등위선(Contour)을 중첩 표출하는 예제를 소개해보고자 합니다. 먼저 예제 데이터는 한반도 및 주변 영역에 대하여 일정한 경도 및 위도에 걸쳐 분포하는 2차원 격자 데이터를 가정해보았습니다. 이러한 가상 데이터를 정의하고 생성하는 과정은 다음과 같습니다. data = HANNING(400, 400)*100 add = FLTARR(400, 400) add[200, 200] = HANNING(200, 200)*50 data = data+add lons = 120+FINDGEN(400)*0.05 lats = 30+FINDGEN(400)*0.05 이와 같이 경도 120~140도 및 위도 3..

IDL/New Graphics 2023.03.13

3차원 공간상에서 지도와 타 그래픽 요소의 중첩 표출 [1]

오늘은 글 제목을 3차원 공간상에서 지도와 타 그래픽 요소의 중첩 표출이라고 적었는데, 구체적으로 얘기해보면 XYZ 축으로 구성되는 3차원 그래픽 공간에서 지도를 바닥에 깔고 그 위에 다른 평면적인 그래픽 요소들(이미지, 벡터 등)을 중첩하여 표출하는 방법에 관한 것입니다. 약간 비슷한 느낌의 표출 예제를 제가 예전에 관련 게시물을 통하여 한번 소개했던 적이 있으므로 이 게시물에 수록된 그림들을 한번 참조해보시면 좋을 것 같습니다. 일단 오늘은 첫 순서로서 3차원 그래픽 공간에서 지도를 바닥에 깔고 그 위에 벡터장을 중첩 표출하는 예제를 소개해보고자 합니다. 그러면 본격적인 시작을 위하여 먼저 예제 데이터부터 생성해보겠습니다. 여기서는 한반도 및 주변 영역에 대한 2차원적인 벡터장이 여러 고도층에 걸쳐서..

IDL/New Graphics 2023.03.08