파이썬에서 Matplotlib와 Pandas 라이브러리를 함께 사용하면 CSV 파일에 저장된 데이터를 몇 줄의 코드만으로 손쉽게 그래프로 시각화할 수 있습니다. 이 글에서는 CSV 데이터를 플롯하는 전체 과정을 단계별로 살펴보고, 실제 동작하는 예제 코드까지 확인해 보겠습니다.
CSV 데이터 플롯 절차
- 그림 크기 설정: figure 크기를 지정하고 서브플롯 사이와 주변의 여백(padding)을 조정합니다.
- 헤더 목록 생성: CSV 파일의 열 이름(헤더)으로 사용할 리스트를 만듭니다.
- CSV 파일 읽기: 헤더 정보를 지정하여 CSV 파일을 데이터프레임으로 불러옵니다.
- 인덱스 설정 후 플롯: 특정 열을 인덱스로 설정한 뒤 데이터프레임을 그래프로 그립니다.
- 그래프 표시: show() 메서드를 호출하여 완성된 그래프를 화면에 출력합니다.
예제 코드
import pandas as pd
import matplotlib.pyplot as plt
# 그림 크기 및 자동 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# CSV 파일의 헤더(열 이름) 정의
headers = ['Name', 'Age', 'Marks']
# 헤더를 지정하여 CSV 파일 읽기
df = pd.read_csv('student.csv', names=headers)
# 'Name' 열을 인덱스로 설정하고 데이터프레임 플롯
df.set_index('Name').plot()
# 그래프 화면에 표시
plt.show()실행 결과
위 코드를 실행하면 학생별 나이(Age)와 점수(Marks) 데이터가 하나의 그래프에 선 형태로 나타납니다. x축에는 'Name' 열의 값이 인덱스로 표시되며, 각 수치형 열은 자동으로 서로 다른 색상의 선으로 구분되어 그려집니다.
핵심 포인트 정리
pd.read_csv()의names매개변수를 사용하면 헤더가 없는 CSV 파일에도 원하는 열 이름을 직접 지정할 수 있습니다.set_index()를 활용하면 특정 열을 x축 기준으로 삼아 더 의미 있는 그래프를 만들 수 있습니다.plt.rcParams설정을 통해 그림 크기와 레이아웃을 미리 조정하면 여러 그래프를 일관된 스타일로 출력할 수 있습니다.
이처럼 Pandas의 내장 plot 기능은 Matplotlib 위에서 동작하기 때문에 별도의 복잡한 변환 과정 없이도 데이터프레임을 바로 시각화할 수 있다는 장점이 있습니다.