728x90
반응형
'''
a.csv 파일
연도,a,b,c,d
2005,3699,6610,5500,7800
2006,3840,7459,8100,6400
'''
import pandas as pd
import matplotlib.pyplot as plt
# f = open('a.csv','r',encoding='UTF-8')
f = open('a.csv','r') # 파일 읽기
lines = f.readlines() # 라인 읽기
header = [] # 헤더 저장 위한 변수
data = [] # 데이터 저장 위한 변수
for i, line in enumerate(lines): # 라인별로 읽기. 라인수 확인위해 enumerate 사용. i가 라인넘버가 됨
tmp = line.replace('\n','') # 라인 데이터의 라인바꿈 문자 '\n' 제거
tmp = tmp.split(',') # ','로 분리
if i == 0: # 0번은 헤더
header = tmp # ['연도', 'a', 'b', 'c', 'd']
if i == 2: # 2번째 라인
data = list(map(int, tmp[1:])) # 0번은 년도가 되므로 제외하고 나머지는 정수로 변환. [3840, 7459, 8100, 6400]
plt.rcParams['font.family'] = 'NanumGothic' # 한글사용을 위한 폰트 지정
plt.bar(header[1], data[0])
plt.bar(header[2], data[1])
plt.bar(header[3], data[2])
plt.bar(header[4], data[3])
plt.title('bar chart', fontsize=16) # 그래프 제목
plt.xlabel('데이터', fontsize=12) # X 축 제목
plt.ylabel('측정치', fontsize=12)
plt.show()
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제: numpy로 nxn 배열 만들 (0) | 2023.11.30 |
---|---|
[파이썬] 문제 : tkinter 입력 1, 2, 3 으로 수 입력 받아 더하기 (0) | 2023.11.30 |
[파이썬] 문제 : 나라명, 국민명 입력 받아 딕셔너리에 저장 후 가장 진 이름 찾기 (0) | 2023.11.30 |
[파이썬] 문제 : 10명의 학생 점수 입력 받아서 합계,평균 계산 (0) | 2023.11.29 |
[파이썬] 문제 : 학생 정보를 튜플과 리스트로 만들기 (0) | 2023.11.29 |
댓글