데이터 분석 작업을 하다 보면 .txt 형식의 텍스트 파일에 저장된 데이터를 그래프로 시각화해야 하는 경우가 자주 있습니다. Python의 대표적인 시각화 라이브러리인 matplotlib를 활용하면 텍스트 파일의 데이터를 손쉽게 읽어 들여 막대 그래프(bar chart)로 표현할 수 있습니다.
구현 절차
matplotlib를 사용하여 .txt 파일의 데이터를 플롯하려면 다음 단계를 따르면 됩니다.
- 그림(figure) 크기를 설정하고, 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
- 막대 이름을 저장할
bar_names리스트와 막대 높이를 저장할bar_heights리스트를 빈 상태로 초기화합니다. - 샘플 .txt 파일을 읽기 모드("r")로 열고, 각 줄에서 막대 이름과 높이 값을 추출하여 각각의 리스트에 추가합니다.
plt.bar()메서드로 막대 그래프를 생성합니다.- 그래프를 화면에 표시하려면
show()메서드를 사용합니다.
예제 코드
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
bar_names = []
bar_heights = []
for line in open("test_data.txt", "r"):
bar_name, bar_height = line.split()
bar_names.append(bar_name)
bar_heights.append(bar_height)
plt.bar(bar_names, bar_heights)
plt.show()샘플 데이터 (test_data.txt)
위 코드에서 사용된 "test_data.txt" 파일에는 다음과 같은 데이터가 들어 있습니다. 각 줄은 '이름'과 '값'이 공백으로 구분되어 있으며, split() 메서드를 통해 두 값으로 나뉩니다.
Javed 12 Raju 14 Rishi 15 Kiran 10 Satish 17 Arun 23
실행 결과
코드를 실행하면 각 사람의 이름이 x축에, 해당 값이 y축의 막대 높이로 표시되는 막대 그래프가 출력됩니다.


추가 팁
- 파일 경로에 한글이 포함되어 있다면 인코딩 문제가 발생할 수 있으므로,
open("test_data.txt", "r", encoding="utf-8")처럼 인코딩을 명시하는 것이 안전합니다. - 막대 그래프에 제목이나 축 레이블을 추가하고 싶다면
plt.title(),plt.xlabel(),plt.ylabel()메서드를 활용하세요. - 막대 색상을 변경하려면
plt.bar(bar_names, bar_heights, color='skyblue')와 같이color매개변수를 지정할 수 있습니다.