SMALL

분류 전체보기 762

2종의 막대 그래프를 서로 붙여서 표출하기

오늘은 IDL에서 BARPLOT 함수를 이용하여 막대 그래프를 표출하는데 있어서 서로 다른 두 종류의 데이터에 대한 막대 그래프 그림을 서로 붙여서 표출하는 예제를 소개해보고자 합니다. 먼저 이를 위하여 필요한 두 종류의 예제 데이터를 다음과 같이 생성해봅시다. n = 10000 data1 = RANDOMN(-1, n)*10 data2 = RANDOMN(-2, n)*20+5 여기서 생성된 data1 및 data2는 모두 정규 분포를 하는 10000개의 값들로 구성된 1차원 배열인데, data1은 평균 및 표준편차가 각각 0 및 10이고 data2는 평균 및 표준편차가 각각 5 및 20인 데이터입니다. 그리고 각 데이터에 대한 분포 자료를 얻기 위하여 HISTOGRAM 함수를 다음과 같이 사용합니다. bs..

IDL/New Graphics 2025.11.27

바코드 형태의 이미지의 표출 및 응용 [2]

IDL에서 바코드(Barcode)의 형태를 띈 이미지를 구현하고 표출하는 방법을 지난 회차 게시물에서 소개한 바 있습니다. 오늘은 이러한 기법을 응용하는 예제를 살펴보기로 합니다. 먼저 다음과 같이 1차원적인 패턴의 데이터를 가정하고 기본적인 표출까지 진행해봅시다. x = FINDGEN(241) y = 1.7*SIN(x*!PI/25.0)*EXP(-0.01*x)win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) p = PLOT(x, y, COLOR='dark cyan', THICK=2, $ XRANGE=[0, 240], XTICKINTERVAL=60, $ FONT_SIZE=11, MARGIN=[0.1, 0.1, 0.1, 0.2], /CURRENT) 여기서는 감쇄형..

IDL/New Graphics 2025.11.17

바코드 형태의 이미지의 표출 및 응용 [1]

오늘은 IDL에서 바코드(Barcode)의 형태를 띈 이미지를 표출하는 방법을 소개해보고자 합니다. 즉 마치 바코드처럼 세로 방향의 검은 선들이 흰 바탕에 표시되는 방식을 뜻합니다. 다만 오늘 해보고자 하는 것은 바코드의 모습을 띈 이미지를 표출하는 것일 뿐이고 바코드의 생성 메커니즘을 적용하여 바코드 자체를 생성하는 것은 아님을 미리 밝혀둡니다. 그러면 먼저 바코드 형태의 데이터를 다음과 같이 0과 1의 값들로 구성된 1차원 배열로 가정하여 임의로 정의해봅시다. code = [1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, $ 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1..

IDL/New Graphics 2025.11.11

색상을 채운 플롯(Filled Plot)의 표출 [3]

IDL에서 플롯의 선(Line) 사이를 색상으로 채워서 표출하는 기능을 담당하는 FILLPLOT 함수는 IDL 8.7.2 버전부터 지원되기 시작하였으며 이 함수의 사용법 및 예제는 이미 관련 게시물들(링크1, 링크2)을 통하여 소개한 바 있습니다. 오늘은 FILLPLOT 함수를 사용하는 또 다른 방식에 대한 예제들을 소개해보고자 합니다. 일단 FILLPLOT 함수의 기본적인 사용법은 앞서 언급된 링크들을 참조하는 것으로 하고 시작해봅니다. 먼저 예제로 사용할 데이터를 다음과 같이 생성합니다. x = [0:2:0.01] y1 = FLTARR(N_ELEMENTS(x)) y2 = 1.2*SIN(4*!pi*x) 여기서는 0부터 2까지 0.01의 간격을 갖는 201개의 실수형 값들로 구성된 x를 생성하고 이를 바..

IDL/New Graphics 2025.11.05

이미지(Image)를 격자(Grid)와 함께 표시하기

2차원 데이터에 대한 이미지(Image)를 표출하는데 있어서 격자(Grid)를 함께 표시하는 방식은 이미지를 구성하는 각각의 화소(Pixel)를 사각형으로 둘러싸서 다른 화소들과 구분하여 보고자 할 때 유용합니다. 이러한 표출은 이미지 배열의 크기가 큰 경우보다는 작은 경우에 더 적합합니다. 물론 통상적으로는 이미지의 표출에 있어서 격자를 함께 표시하지 않는 것이 기본이긴 하지만, 필요에 따라서는 개별 화소를 구분하여 볼 목적으로 격자들을 함께 표시하고 싶을 수도 있습니다. IDL에서도 이러한 방식의 표출은 가능합니다. 그래서 그 방법을 소개해보고자 합니다. 먼저 가상의 예제 데이터를 다음과 같이 생성해봅시다. 여기서는 5x5의 구조를 갖는 2차원 배열 data를 생성하면서 화소값들은 난수로 부여되도록 ..

IDL/New Graphics 2025.10.28

줄기형 플롯 표출하기

줄기형 플롯(Stem Plot)은 각 데이터 포인트로부터 세로 또는 가로 방향의 선이 마치 줄기처럼 뻗어 있는 듯한 모습으로 구현되는 플롯을 의미합니다. 그런데 사실 IDL의 그래픽 기능 함수들 중에는 이러한 형태의 플롯을 구현할 수 있도록 해주는 전용 함수는 없습니다. 다만 우회적인 방법을 이용하여 이러한 줄기형 플롯을 구현하는 것은 가능은 합니다. 바로 PLOT 함수 및 BARPLOT 함수를 적절히 혼용하는 방법인데, 이러한 방식을 사용하면 거의 비슷하게 구현이 가능합니다. 그러면 가상의 x, y 데이터를 정의하고 이를 줄기형 플롯으로 구현하는 예제를 살펴봅시다. 일단 데이터 포인트들이 정사각형 기호로 표시되는 플롯을 먼저 표출합니다. 그 시작 과정은 다음과 같습니다. x = FINDGEN(21) y..

IDL/New Graphics 2025.10.21

패턴(Pattern)을 이용한 색상 채우기

NG 체계의 그래픽 함수들 중에서 색상을 채우는 기능을 지원하는 것들이 몇개 있습니다. CONTOUR, FILLPLOT, BARPLOT, POLYGON 등의 함수들이 대표적이고 PLOT 함수의 경우도 나름대로의 방식으로 이런 기능을 지원합니다. 사실 "색상을 채운다"는 것은 내부 공간을 동일한 색상으로 빈 공간 없이 꽉 채운다는 의미로 보면 됩니다. 먼저 이러한 예제로서 다음과 같이 POLYGON 함수를 이용하여 간단한 그림을 하나 표출해보겠습니다. win = WINDOW(DIMENSIONS=[600, 600], /NO_TOOLBAR)xp = [0.1, 0.1, 0.9, 0.9, 0.1]yp = [0.1, 0.9, 0.9, 0.1, 0.1]plg = POLYGON(xp, yp, FILL_COLOR=' s..

IDL/New Graphics 2025.10.15

계단형 플롯 표출하기

플롯 계열의 함수들 중 가장 기본적인 역할을 하는 PLOT 함수를 사용하는 방법은 이미 알려진 것들이 많이 있습니다. 그리고 플롯이 표출되는 형태를 보면 데이터 포인트들을 선으로 이어주거나 또는 포인트 자체를 특정한 기호(원형, 사각형 등)로 표시하는 등의 방식이 일반적입니다. 그런데 필요에 따라서는 그 모습이 마치 계단(Staircase)처럼 보이는 계단형 플롯을 구현하는 것도 가능합니다. 이를 위해서는 PLOT 함수의 STAIRSTEP 속성을 사용하면 됩니다. 그러면 간단한 예제를 통하여 그 방법을 살펴봅시다. 먼저 예제 데이터를 다음과 같이 생성합니다. X = FINDGEN(21) Y = SIN(x/2)*0.8 이와 같이 사인(Sine) 곡선의 궤적을 따라가는 21개의 포인트들로 구성된 데이터를 생..

IDL/New Graphics 2025.10.13

축(Axis)의 범위 뒤집기

IDL에서 X축 및 Y축으로 구성되는 그림을 표출하는데 있어서 축의 범위를 직접 설정해야 하는 경우는 자주 있습니다. 그런데 이러한 축의 범위 자체를 아예 뒤집어야 하는 경우도 가끔 있습니다. 예를 들면 X축의 범위가 0~100으로 설정되어 있는데 이를 100~0이 되도록 하는 경우입니다. 물론 이러한 설정 방법은 매우 간단합니다. 몇가지 예제들을 통하여 이러한 방법들을 살펴봅시다. 먼저 플롯 계열의 그림을 표출하는 경우부터 보겠습니다. 예제 데이터를 간단하게 생성하고 기본적인 표출만 먼저 해보면 그 과정 및 결과 그림은 다음과 같습니다. x = FINDGEN(101) y = SQRT(x) win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) p = PLOT(x, y, ..

IDL/New Graphics 2025.10.01

막대 그래프(BarPlot)를 수평 방향으로 표출하기

IDL에서 막대 형태의 그래프(Bar Plot)를 표출하려면 NG 체계의 BARPLOT 함수를 사용하는 것이 가장 편리합니다. 그리고 이러한 표출 방식은 그 특성상 다수의 값들로 구성된 배열에 대하여 값의 구간별 빈도수를 나타내는 히스토그램(Histogram)을 가시화하는 목적으로 자주 사용됩니다. 그래서 가상의 데이터에 대하여 히스토그램 결과를 얻고 이를 BARPLOT 함수를 사용하여 막대 형태의 플롯을 표출하는 방법을 예전에 관련 게시물을 통하여 소개한 바 있습니다. 그리고 통상적으로는 이러한 그림은 막대들이 수직 방향으로 서있는 모습이 되도록 표출하는 경우가 많습니다. 하지만 경우에 따라서는 막대들이 수평 방향으로 마치 누워있는 듯한 모습이 되도록 표출해야 할 경우도 있을 것입니다. 물론 이러한 표..

IDL/New Graphics 2025.09.29
728x90