엑셀 표의 숫자를 그림으로 옮기거나 CSV 파일의 변화를 선으로 보고 싶다면 gnuplot을 쓸 수 있습니다. gnuplot은 데이터를 불러와 그래프를 그리는 무료 프로그램이며, 공식 SourceForge의 6.0.5 폴더에 Windows 64비트 설치 파일이 공개돼 있습니다. 설치 후 쉼표로 구분한 숫자 두 열을 읽고, 첫째 열을 가로축·둘째 열을 세로축으로 지정하면 선 그래프를 PNG로 저장할 수 있습니다.
숫자 파일을 명령어로 그래프에 옮기는 도구
gnuplot은 버튼을 눌러 표를 꾸미는 스프레드시트와 다르게, 입력 창에 명령을 적어 그래프를 만듭니다. 같은 명령을 다시 실행하면 새로 받은 CSV도 같은 축과 크기로 그릴 수 있어 반복되는 측정값을 비교할 때 편합니다. 공식 프로젝트는 2D·3D 그림과 여러 출력 형식을 지원한다고 소개합니다.
이 글의 첫 작업은 날짜 대신 1부터 5까지 번호를 붙인 값 다섯 개를 CSV로 저장해 선 그래프를 만드는 것입니다. 숫자 자료라면 복잡한 설정 없이 열 번호만 지정하면 됩니다. 그래프의 내용과 색을 만드는 명령은 나중에 바꿀 수 있으므로 처음에는 파일 경로, 쉼표 구분, 출력 파일 이름 세 가지에 집중하세요.
공식 예제에서 만든 그래프 출력
공식 6.0.5 데모의 곡선 그래프 출력 예시입니다. 아래에서 만드는 CSV 선 그래프의 화면이나 Windows 입력 창을 캡처한 이미지는 아닙니다. gnuplot이 데이터를 그림으로 내보낼 수 있다는 모습을 보여 줍니다.
| 프로그램 | gnuplot |
| Windows 설치 파일 | gp605-win64-mingw.exe |
| 입력 | 숫자 두 열 CSV |
| 출력 | PNG 이미지 |
| 작업 방식 | 명령어 입력 |
Windows 64비트 설치 파일을 정확히 고르기
공식 SourceForge 파일 목록의 6.0.5 폴더에는 Windows용 파일과 소스 파일이 함께 있습니다. 일반적인 Windows 64비트 PC에 설치하려면 gp605-win64-mingw.exe를 고르세요. 약 48.6MB인 자체 설치 파일이며, 이름에 woa가 들어간 파일은 Windows on Arm용입니다. 압축 파일 .7z와 소스 .tar.gz는 이 글에서 다루는 설치 파일이 아닙니다.
SourceForge 프로젝트 페이지가 가장 최근 파일로 6.0.5의 Windows 설치 파일을 표시하는지 확인한 뒤 받으세요. 다른 사이트가 제공하는 오래된 6.0.4 파일이나 광고성 설치 도우미를 고를 필요가 없습니다. PC가 Arm 기반인지 모르겠다면 Windows 설정의 시스템 정보에서 프로세서 종류를 먼저 확인하세요.
저장된 파일 이름이 gp605-win64-mingw.exe인지 살핀 다음 Windows 설치 안내에 따라 진행합니다. 설치가 끝나면 시작 메뉴에서 gnuplot을 찾아 입력 창을 엽니다. 공식 문서는 Windows에서 명령을 입력하는 텍스트 창과 그래프를 그리는 창을 구분해 설명합니다. 이 글의 PNG 저장 작업에서는 결과 파일을 열어 그림을 확인합니다.
- Windows의 시스템 정보에서 64비트 x64 PC인지 확인합니다.
- 공식 6.0.5 폴더의 gp605-win64-mingw.exe를 받아 설치합니다.
- 시작 메뉴에서 gnuplot 입력 창을 엽니다.
CSV 파일을 만들고 작업 폴더를 맞추기
먼저 C:\gnuplot-demo 폴더를 만들고 메모장에 숫자 두 열을 적습니다. 각 줄을 1,10 / 2,15 / 3,13 / 4,20 / 5,18로 만들되 실제 파일에서는 줄마다 한 쌍씩 넣으세요. 첫 열은 가로축의 순서, 둘째 열은 세로축 값입니다. 이 예제는 첫 줄부터 숫자로 시작하므로 별도의 머리글 건너뛰기 설정이 필요하지 않습니다.
메모장의 다른 이름으로 저장에서 파일 이름을 sample.csv로 정하고, 파일 형식은 모든 파일을 선택해 C:\gnuplot-demo에 저장하세요. sample.csv.txt로 저장되면 gnuplot이 찾는 이름과 달라집니다. 탐색기에서 파일 확장명 표시를 켜고 실제 이름을 확인하면 이 실수를 바로 찾을 수 있습니다.
gnuplot 입력 창에서 cd 'C:\gnuplot-demo'를 입력하면 해당 폴더를 작업 위치로 바꿀 수 있습니다. 공식 6.0 문서는 Windows 경로의 역슬래시가 큰따옴표 안에서 다른 의미로 해석될 수 있으므로 작은따옴표로 묶는 예를 안내합니다. 입력 파일과 출력 PNG가 같은 폴더에 놓여 있으면 긴 경로를 매번 쓰지 않아도 됩니다.
- C:\gnuplot-demo 폴더를 만들고 숫자 두 열을 쉼표로 나눠 sample.csv에 저장합니다.
- 파일 확장명이 .csv인지 확인합니다.
- gnuplot 입력 창에서 cd 'C:\gnuplot-demo'를 입력합니다.
쉼표 구분을 설정하고 선 그래프를 PNG로 저장하기
gnuplot은 기본적으로 공백으로 나뉜 데이터를 읽습니다. CSV처럼 쉼표가 있는 파일에서는 먼저 set datafile separator comma를 입력하세요. 이어 set terminal pngcairo size 1200,800으로 PNG 그림 크기를 정하고, set output 'trend.png'로 저장할 파일 이름을 지정합니다. 이 명령들은 공식 6.0 문서의 CSV 입력과 pngcairo 출력 방식에 따릅니다.
이제 plot 'sample.csv' using 1:2 with linespoints title '측정값'을 입력합니다. using 1:2는 첫째 열을 가로축, 둘째 열을 세로축으로 읽으라는 뜻입니다. linespoints는 값들을 선으로 잇고 각 지점을 표시합니다. 입력이 끝나면 unset output을 실행해 출력 파일을 닫으세요. 탐색기의 C:\gnuplot-demo\trend.png를 열어 점 다섯 개가 이어진 그래프인지 확인합니다.
그래프가 지나치게 작거나 값이 뭉쳐 보이면 CSV의 첫째·둘째 열에 숫자가 맞게 들어갔는지 다시 보세요. 파일을 수정한 뒤 PNG로 다시 저장하려면 set output 'trend.png'부터 plot, unset output까지 다시 실행합니다. 반복해서 비교할 계획이라면 출력 설정과 plot 명령을 plot.gp 같은 텍스트 파일에 저장하고 gnuplot에서 load 'plot.gp'로 불러올 수 있습니다.
- set datafile separator comma를 입력합니다.
- set terminal pngcairo size 1200,800과 set output 'trend.png'를 차례로 입력합니다.
- plot 'sample.csv' using 1:2 with linespoints title '측정값'을 실행합니다.
- unset output을 입력하고 trend.png를 열어 결과를 확인합니다.
파일을 못 읽거나 PNG가 안 보일 때
'Cannot find or open file'이 나오면 현재 작업 폴더에 sample.csv가 있는지부터 확인하세요. 폴더가 다르면 cd 명령을 다시 입력하거나 plot 명령에 파일의 전체 경로를 넣어야 합니다. Windows 탐색기에서 확장자를 숨겼다면 sample.csv.txt가 아닌지도 살펴보세요.
그래프가 빈 화면이거나 선이 끊기면 데이터의 쉼표와 숫자 형태를 확인합니다. 예제처럼 두 열을 쉼표 하나로 나누고 머리글 없는 숫자 행으로 먼저 시험하세요. 다른 프로그램에서 저장한 파일에 세미콜론이 들어 있다면 comma 설정과 맞지 않으므로 실제 구분자에 맞게 set datafile separator ';'로 바꿔야 합니다.
plot을 입력했는데 trend.png가 바로 보이지 않으면 unset output을 실행했는지 확인하세요. 출력 위치는 gnuplot의 현재 작업 폴더입니다. 이후 화면 그래프를 보고 싶다면 PNG용 출력 설정을 끝낸 뒤 Windows 화면용 터미널로 되돌려 그려야 하며, 저장된 trend.png는 탐색기에서 바로 열어 확인할 수 있습니다.
- 입력 파일 오류라면 폴더와 sample.csv의 실제 확장명을 확인합니다.
- 빈 그래프라면 쉼표 구분과 두 숫자 열을 확인합니다.
- PNG가 보이지 않으면 unset output 후 현재 작업 폴더를 확인합니다.
축 이름과 격자를 넣어 읽기 쉽게 만들기
처음 만든 trend.png는 값의 흐름을 확인하기에 충분하지만, 다른 사람에게 전달할 그림이라면 가로축과 세로축이 무엇을 뜻하는지 적어 두는 편이 좋습니다. 출력 파일을 다시 열기 전에 set xlabel 'Order'와 set ylabel 'Value'를 입력하면 아래쪽과 왼쪽에 축 이름이 붙습니다. 이 예제에서 Order는 측정 순서, Value는 기록한 값입니다. 숫자의 단위가 있다면 자신의 자료에 맞는 단어로 바꾸세요.
값이 어디쯤인지 눈으로 비교하기 어렵다면 set grid를 입력해 격자를 표시할 수 있습니다. 그런 다음 set output 'trend.png'를 다시 지정하고 앞의 plot 명령을 실행한 뒤 unset output을 입력하세요. 기존 그림을 덮어쓰게 되므로 처음 만든 그림도 남겨야 한다면 trend-labeled.png처럼 다른 파일명을 쓰세요. 탐색기에서 두 그림을 각각 열어 축 이름과 격자가 필요한 만큼 보이는지 확인하면 됩니다.
그래프의 가로축은 sample.csv의 첫 번째 숫자 열에 그대로 대응합니다. 숫자가 날짜를 뜻한다면 1, 2, 3 같은 예제 번호 대신 실제 날짜 자료를 어떤 형식으로 읽을지 별도로 정해야 합니다. 먼저 숫자 자료의 선 그래프를 완성한 다음 시간축 설정으로 넓혀 가세요. 한 번에 여러 옵션을 바꿀 때보다 원인과 결과를 구분하기 쉽습니다.
- set xlabel 'Order', set ylabel 'Value', set grid를 입력합니다.
- 출력 파일을 다시 지정하고 plot과 unset output을 실행합니다.
- 새 PNG에서 축 이름과 격자, 데이터 점을 확인합니다.
실제 자료로 바꿀 때 먼저 볼 부분
실제 CSV에는 날짜 문자, 머리글, 빈칸이 섞일 수 있습니다. 이 예제는 숫자 두 열만 있으므로 그대로 실행되는 입문용입니다. 열이 세 개라면 원하는 두 열 번호를 using 1:3처럼 바꾸고, 첫 줄이 글자인 경우에는 머리글 처리 방법을 공식 CSV 문서에서 확인한 뒤 적용하세요. 처음부터 여러 조건을 넣기보다 작은 예제로 파일 읽기와 저장을 먼저 성공시키는 편이 오류 위치를 찾기 쉽습니다.
출력 PNG는 표 데이터가 아니라 그림입니다. 나중에 값을 다시 계산하려면 원본 CSV를 함께 보관하세요. 같은 크기의 그림을 여러 번 만들어야 한다면 작업 폴더와 출력 파일명을 분명히 정하고 스크립트 파일로 명령을 저장해 두면 됩니다.
- 실제 CSV에서 구분자와 사용할 열 번호를 확인합니다.
- 원본 CSV와 그래프 명령을 함께 보관합니다.
자주 묻는 질문
gnuplot은 무료인가요?
공식 6.0 문서는 소프트웨어를 비용 없이 배포한다고 설명합니다. 이 글의 Windows 6.0.5 설치 파일도 공식 SourceForge 목록에서 무료로 받을 수 있습니다.
Windows에서 어떤 파일을 받아야 하나요?
일반적인 64비트 x64 Windows PC에는 gp605-win64-mingw.exe를 고릅니다. gp605-woa.exe는 Arm 기반 Windows용입니다.
CSV를 읽을 때 그래프가 비는 이유는 무엇인가요?
파일이 쉼표로 나뉘었는데 구분자를 지정하지 않았거나, 선택한 열이 숫자가 아닌 경우가 흔합니다. set datafile separator comma와 using 1:2를 확인하세요.
PNG를 어디에서 찾나요?
set output 'trend.png'로 지정하고 unset output까지 실행했다면 현재 작업 폴더에 저장됩니다. 예제대로라면 C:\gnuplot-demo입니다.
엑셀 파일 .xlsx를 바로 열 수 있나요?
이 글의 방법은 숫자 두 열을 CSV로 저장해 읽는 방식입니다. 스프레드시트에서 CSV로 내보낸 뒤 구분자와 열을 확인하세요.
CSV 다섯 줄로 첫 그래프를 만들어 보세요
Windows 64비트 PC에 공식 gnuplot 6.0.5를 설치하고 sample.csv를 준비하세요. 작업 폴더를 지정한 다음 쉼표 구분, PNG 출력, 열 번호를 차례로 설정하면 trend.png가 만들어집니다. 그림이 보이면 실제 CSV의 구분자와 열 번호에 맞춰 명령을 바꾸면 됩니다.
공식 자료와 확인일
gnuplot 공식 프로젝트와 기능 · gnuplot 6.0.5 공식 파일 목록 · gnuplot 6.0 공식 매뉴얼 · gnuplot 6.0 CSV 파일 안내 · gnuplot 6.0.5 공식 그래프 예제 | 2026년 10월 9일 확인
