[c언어] 파일 처리를 이용한 데이터 시각화
이 블로그 포스트에서는 c언어를 사용하여 파일 처리를 하고, 그 데이터를 이용해 간단한 시각화를 수행하는 방법을 알아보겠습니다.
목차
데이터 파일 생성
파일 처리를 위해 데이터 파일을 생성해야 합니다. 파일은 쉼표(,)나 탭과 같은 구분자를 사용해 데이터를 정리하는 것이 일반적입니다. 예를 들어, 아래와 같이 데이터를 담은 파일을 생성합니다. 파일명은 “data.csv”로 하겠습니다.
#include <stdio.h>
int main() {
FILE *fp;
fp = fopen("data.csv", "w");
fprintf(fp, "이름,나이\n");
fprintf(fp, "영희,25\n");
fprintf(fp, "철수,30\n");
fprintf(fp, "수지,28\n");
fclose(fp);
return 0;
}
데이터 읽기
이제 생성한 데이터 파일을 읽어와서 c언어로 처리해보겠습니다. 파일에서 데이터를 읽어오려면 파일을 열고, 한 줄씩 읽어들이면 됩니다.
#include <stdio.h>
int main() {
FILE *fp;
char name[20];
int age;
fp = fopen("data.csv", "r");
if(fp == NULL) {
printf("파일을 열 수 없습니다.\n");
return 1;
}
char header[50];
fgets(header, 50, fp); // 헤더를 읽어서 버립니다.
while(fscanf(fp, "%[^,],%d\n", name, &age) == 2) {
printf("이름: %s, 나이: %d\n", name, age);
}
fclose(fp);
return 0;
}
시각화
이제 데이터를 성공적으로 읽었습니다. 이제 c언어의 외부 라이브러리를 사용하여 데이터를 시각화할 수 있습니다. Gnuplot과 같은 라이브러리를 이용하여 간단한 그래프를 그릴 수 있습니다. 아래는 데이터를 이용해 간단한 막대 그래프를 그리는 코드입니다.
#include <stdio.h>
int main() {
FILE *gnuplot = popen("gnuplot -persistent", "w");
fprintf(gnuplot, "set title '나이별 그래프'\n");
fprintf(gnuplot, "set style data histogram\n");
fprintf(gnuplot, "set style fill solid\n");
fprintf(gnuplot, "plot 'data.csv' using 2:xtic(1) title ''\n");
pclose(gnuplot);
return 0;
}
결론
이렇게 하여 c언어를 사용하여 파일 처리를 하고, 데이터를 시각화하는 방법에 대해 알아보았습니다. 파일 처리와 시각화를 통해 쉽게 데이터를 다룰 수 있으며, c언어를 이용하여 간단한 시각화가 가능함을 확인할 수 있습니다.