SMALL

IDL/New Graphics 170

수식(Equation)의 가시화에 관한 유의 사항들

앞서 두 차례에 걸쳐서 데이터 배열 없이 수식(Equation)만 받아서 가시화하는 기능들에 관한 게시물들을 올린 바 있습니다. PLOT 함수에서 1차원 수식을 가시화하는 방법에 관한 게시물 그리고 CONTOUR 및 SURFACE 함수에서 2차원 수식을 가시화하는 방법에 관한 게시물 두가지로 나눠서 올렸는데요. 두 게시물에서 미처 언급하지 못했지만 유의해야 할 사항들이 좀 있어서 여기서 마저 정리를 해보고자 합니다. 1) IDL NG(New Graphics) 체계의 PLOT, CONTOUR, SURFACE 함수에서만 지원됩니다. 그리고 이러한 기능이 지원되기 시작한 것은 IDL 8.3 버전부터입니다. 그 이전 버전의 IDL에서는 지원되지 않습니다. 2) 웬지 3차원 수식을 VOLUME 같은 함수에서 지원..

IDL/New Graphics 2024.07.12

수식(Equation)만 명시하여 Contour 및 Surface 표출하기

NG 체계의 PLOT 함수에서 수식(Equation)만 명시하여 1차원적인 플롯(Plot)을 표출하는 방법에 관하여 바로 직전의 게시물을 통하여 소개한 바 있습니다. 이것은 결국 y = f(x) 형태의 1차원 함수에 대한 수식 자체를 PLOT 함수에 그대로 투입하는 방식이라고 볼 수 있습니다. 비슷한 맥락으로 y = f(x, y) 형태의 2차원 함수에 대한 수식만 명시하여 그림을 표출하는 것도 가능합니다. 이러한 기능은 CONTOUR 및 SURFACE 함수에서 지원됩니다. 따라서 오늘은 그 방법에 관하여 예제와 함께 살펴보기로 하겠습니다. 먼저 CONTOUR 함수에서 수식만 명시하여 2차원적인 등위선(Contour) 그림을 표출하는 예제부터 보면 그 과정은 다음과 같습니다. ct = COLORTABLE(..

IDL/New Graphics 2024.07.09

수식(Equation)만 명시하여 플롯(Plot) 표출하기

오늘은 IDL의 NG(New Graphics) 체계에서 플롯(Plot)을 표출하는데 있어서 PLOT 함수에서 수식(Equation)만 지정하여 그림을 구현하는 방법에 관하여 소개해보고자 합니다. 우리가 플롯을 표출하는데 있어서는, X축에 해당되는 값들로 구성된 배열을 정의하고 이를 일정한 수식에 의하여 계산하여 산출된 값들로 구성된 배열이 Y축에 대응되도록 하는 방식을 사용하는 것이 일반적입니다. 예를 들면 다음과 같은 방식입니다. x = FINDGEN(101)/10-5 y = x^3-2*x^2-5*x+6 win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) p = PLOT(x, y, THICK=2, COLOR='tomato', MARGIN=0.1, /CURRENT) 여..

IDL/New Graphics 2024.07.05

IDL 9.0의 그림 저장 문제에 관하여 [2]

얼마전에 IDL 9.0의 NG 체계에서 그래픽 요소들이 중첩된 그림을 표출했을 때 중첩이 정상적으로 되지 않는 문제에 관한 게시물을 올린 바 있습니다. 그리고 이러한 문제점의 증상을 살펴보고, 만족스럽지는 않지만 나름의 대안도 함께 살펴보았는데요. 만족스럽지는 않지만 나름 써볼만한 괜찮은 대안이 있어서 오늘 소개해보고자 합니다. 일단 지난 게시물에서 제시했던 예제를 그대로 사용하면서 여기에 TEXT 함수로 문자를 삽입하는 내용까지 추가해보기로 합니다. 그 과정은 다음과 같습니다. x = FINDGEN(101) y = SQRT(x) + RANDOMU(-1, 101) * 2 - 1 win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) p = PLOT(x, y, THICK=2..

IDL/New Graphics 2024.06.25

IDL 9.0의 그림 저장 문제에 관하여 [1]

오늘은 IDL 9.0에서 보고되고 있는 알려진 문제 하나에 관하여 언급을 해보고자 합니다. 이 문제는 IDL 9.0에서 NG 체계에서 그래픽 요소들이 중첩되어 표출된 그림을 파일로 저장할 때 발생하는 문제인데요. 먼저 예제 그림을 다음과 같이 표출해봅시다. x = FINDGEN(101) y = SQRT(x) + RANDOMU(-1, 101) * 2 - 1 win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) p = PLOT(x, y, THICK=2, FONT_SIZE=11, MARGIN=0.1, /CURRENT) sym = SYMBOL(40, 6.8, 'circle', /SYM_FILLED, SYM_FILL_COLOR='tomato', SYM_SIZE=6, /DATA)w..

IDL/New Graphics 2024.05.29

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

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
728x90