2013년 12월 13일 금요일

gnuplot - 기초

gnuplot은 리눅스 프로그램으로, 이를 이용하면 그래프를 간단하게 그릴 수 있다.

예를 들어, 다음과 같은 입력 파일 (count.txt) 이 있다고 하자:

0 5591
1 781 
2 2242
3 2117
4 6255
5 1354
6 1487
7 2122
8 6222
9 279 
10 1103
11 3350
12 1797
13 3399
14 3417
15 2033
16 38
17 3975
18 3898
19 5487
20 1082
21 692 
22 1095
23 381 
24 482 
25 55
첫 번째 열의 0부터 25의 숫자는 알파벳 'a'에서 'z'까지를 나타낸다.
두 번째 열의 숫자들은, 어떤 영어 문서에서 각 알파벳이 등장하는 횟수를 센 것이다.
이를 이용해서 그래프를 그리는 법을 소개하겠다.

먼저, 다음과 같은 리눅스 명령을 실행하자:

gnuplot
그럼, 아래와 같이 gnuplot이 실행되는 것을 볼 수 있다:
(아, 물론 예쁜 창 (GUI) 이 뜨거나 하는 건 아니다. 얜 커맨드라인 프로그램이다.)

 G N U P L O T
 Version 4.4 patchlevel 3
 last modified March 2011
 System: Linux 3.8.0-33-generic

 Copyright (C) 1986-1993, 1998, 2004, 2007-2010
 Thomas Williams, Colin Kelley and many others

 gnuplot home:     http://www.gnuplot.info
 faq, bugs, etc:   type "help seeking-assistance"
 immediate help:   type "help"
 plot window:      hit 'h'

Terminal type set to 'wxt'
gnuplot>
이제, 위에서 소개한 입력 파일 (count.txt) 를 그래프화 하기 위해서 다음을 실행하자:
plot "count.txt"
그럼, 다음과 같은 창이 뜨는 것을 확인 할 수 있다:

마이크로소프트 엑셀에서도 많이 쓰이는 "분산형 차트" 형식으로 데이터들이 표시된 것을 알 수있다.
그런데, 이런 종류의 데이터는 분산형이 아닌 막대 그래프 (엑셀에서는 "세로 막대형 차트") 로 나타내는 것이 보통이지 않나?
그러기 위해서는.. 일단 방금 띄운 그래프 창을 닫자.
(창의 오른쪽 위에 있는 'X'를 마우스로 누르면 되겠지?)
그리고 gnuplot>에 다음과 같이 명령을 넣자:
plot "count.txt" with boxes
막대 그래프로 나타내기 위해, plot 구문 제일 뒤에 with boxes를 추가하였다.
엔터를 누르면 새 창이 뜨면서 다음과 같은 막대 그래프가 나타남을 알 수있다:

이번 글에서는 여기까지 설명하겠다.
아, 마치기 전에 하나 더! ㅋㅋ
gnuplot>에서 나가려면 (gnuplot을 종료하려면) 키보드에서 컨트롤-d를 누르면 된다.

gnuplot에 관한: 이전 글 없음 다음 글