Study/Python

[Python/Matplotlib] 지하철 시간대별 이용 현황 데이터를 이용하여 아침 7시의 승차 데이터 막대그래프 그리기

ChoiSenn 2022. 1. 27. 14:06

 

 

 

지하철 시간대별 이용 현황 데이터를 이용하여 아침 7시의 승차 데이터 막대그래프 그리기 

 

import csv
import matplotlib.pyplot as plt

f = open('subwaytime.csv')
data = csv.reader(f)
next(data)
next(data) #  헤더 제외
result = []

for row in data:
    row[4:] = map(int, row[4:])  #  map 함수를 이용하여 데이터 타입 바꾸기
    result.append(row[10])
    
result.sort()  # 오름차순으로 정렬
plt.figure(dpi = 300)
plt.style.use('ggplot')
plt.bar(range(len(result)), result)
plt.show()

 전체 코드

 

 

 

1. 라이브러리 및 모듈 import

 

import csv
import matplotlib.pyplot as plt

 - csv 파일을 읽기 위해 csv 모듈을 import한다.

 - 그래프를 그려 시각화 하기 위해 matplotlib 라이브러리의 pyplot 모듈을 import한다.

 

 

 

2. csv 공공데이터 읽어오기

 

f = open('subwaytime.csv')
data = csv.reader(f)
next(data)
next(data) #  헤더 제외

 - open()을 이용하여 subwaytime.csv 파일을 f에 저장한다. subwaytime.csv에는 시간대별 지하철 이용 현황 데이터가 저장되어 있다.

 - csv.reader()를 이용하여 f에 저장된 공공 기온 데이터를 읽어와 data에 저장한다.

 - next()를 이용하여 분석에 필요없는 헤더 데이터와 첫 줄을 제거해준다.

 

 

 

3. 데이터 시각화를 위한 변수 선언

 

result = []

 - 시간대별 지하철 이용 건수 데이터를 저장하기 위한 list 형태의 result 변수를 선언해준다.

 

 

 

4. 공공데이터로부터 원하는 데이터 추출 및 저장

 

for row in data:
    row[4:] = map(int, row[4:])  #  map 함수를 이용하여 데이터 타입 바꾸기
    result.append(row[10])

 - for row in data를 이용하여 모든 데이터를 한 줄 씩 읽는다.

 - 해당 줄의 네 번째 이후 데이터들()을 map 함수를 이용하여 데이터 타입을 string에서 int 타입으로 변환해준다.

 - result 리스트에 10번째 데이터를(아침 7시 승차 데이터) append시킨다. 

 

 

 

5. 그래프를 그리고 화면에 나타내기

 

result.sort()  # 오름차순으로 정렬
plt.figure(dpi = 300)
plt.style.use('ggplot')
plt.bar(range(len(result)), result)
plt.show()

 - result.sort()를 이용하여 result 리스트의 데이터들을 오름차순으로 정렬시키다.

 - plt.figure()를 이용하여 이미지의 해상도를 설정한다.

 - plt.style.use()를 'ggplot'으로 지정해주어 막대그래프 형태임을 설정해준다.

 - plt.bar()를 이용하여 result의 길이 만큼의 막대그래프를 result 값을 이용하여 그린다.

 - plt.show()를 이용하여 막대그래프를 화면에 나타낸다.

 

 

 

 

 

출력된 그래프