8장. 그래프의 추출

실험 등에 얻어진 데이터를 그래프로 플롯해서 눈으로만 확인하는 경우는 몹시 드물다. 실제 플롯된 데이터에 제목을 표시하고, 각각의 축에 인덱스를 다는 등의작업을 거친후 논문이나 보고서 등에 삽입된다. 이런 그래프를 추출하기 위해서는 gnuplot의 결과를 출력할 터미널을 지정해주어야 한다. 맨 첫머리에 gnuplot을 리눅스 X-Windows상에서 실행할 경우 기본적으로 터미널은 'x11'로 설정된다. 이외에도 여러 가지 형식으로 그래프를 추출할 수 있다. 기본적인 설정방법을 알아보자.

gnuplot> set term(inal) 'type'
gnuplot> set output 'filename'

의 형식으로 지정을 한다. 더 자세한 내용은

gnuplot> help set term

으로 참조하기 바란다. 예를 들어 png 파일 형식으로 그래프를 그리고 싶을 때에는

gnuplot> set term png
gnuplot> set output 'plot.png'
gnuplot> plot x

이런 식으로 입력해 주면 gnuplot을 실행한 위치에서 y=x의 그래프가 'plot.png' 파일로 저장된다. 나는 LaTeX 문서나 sgml 문서 등에 그래프를 삽입할 경우를 생각해 가급적 그래프를 eps(Encapsulated Post Script)파일로 저장한다. 다른 형식에 비해 PostScript 파일이 훨씬 더 품위있어 보이고, 깔끔하기 때문에 개인적으로 선호하는 편이다. 앞에서 나온 예들도 모두 eps 파일로 작성된 예제들이다.

gnuplot> set term post
gnuplot> set output 'sinx.eps'
gnuplot> plot sin(x)

하지만 이렇게 만들어진 eps 파일은 ghostscript를 지원하는 viewer, ghostview와 같은 프로그램에서만 볼 수 있고 웹에 올리거나 일반문서에 포함시키기는 어렵다. jpg나 gif 파일로 바로 추출할 수 있다면 좋겠지만 아쉽게도 라이센스 문제로 3.7 버전부터 제외되었다. 이런 eps 파일을 변환시키기 위해서 ImageMagick의 convert를 이용하면 매우 편리하다. 이 ImageMagick 패키지도 일반적인 배포판에는 모두 설치가 되어 있을 것이다. 이 패키지 안에는 간단한 그래픽 작업을 하는데 필요한 명령들이 대부분 들어 있다(파일변환의 convert, 간단한 그래픽 작업의 display 등). 자세한 내용은 직접 man 페이지나 매뉴얼 등을 참조하기로 하고 여기서는 convert를 소개하고자 한다. ImageMagick의 convert의 기본적인 사용법은 다음과 같다.

$ convert test.jpg test.gif

아주 간단한 명령만으로 jpg파일이 gif 파일로 바뀐다. 너무 허무할 정도로 간단하다. ‘작은 것이 아름답다’라는 UNIX의 철학을 다시 한번 느낄수 있다. 이와 같은 방법으로 eps 파일도 jpg이나 gif, png 등의 다른 파일로 쉽게 변환할 수가 있다. 그러나 convert를 사용, eps 파일을 변환시키면 -90도 회전시켜서 변환을 한다. 그래서 단순히

$ convert test.eps test.jpg

로 변환하면 그림이 90도 회전되어 있다. 이를 방지하기 위해서

$ convert -rotate 90 test.eps test.jpg

의 명령으로 깔끔하게 변환해 준다.