(파이썬) matplotlib: 기온 데이터로 기온 변화 그래프 그리기
파이썬의 matplotlib 라이브러리를 이용하여 기후 데이터의 기온 변환를 그래프로 표현해 봅니다.
1. 기후 데이터 받기
기온 데이터는 "기상청 기상자료개방포털" 사이트에서 기온 변화의 데이터를 다운로드 받을 수 있습니다.
1904년부터 현재까지의 기온 데이터가 저장되어 있습니다.
https://data.kma.go.kr/stcs/grnd/grndTaList.do?pgmNo=70
기상자료개방포털[기후통계분석:통계분석:기온분석]
중부(26) 서울경기: 서울(108), 인천(112), 수원(119), 강화(201), 양평(202), 이천(203) 강원영동: 속초(90), 강릉(105), 태백(216) 강원영서: 철원(95), 대관령(100), 춘천(101), 원주(114), 인제(211), 홍천(212) 충북:
data.kma.go.kr
검색 조건을 선택하고, "CSV" 파일로 저장합니다.
여기서는 월별/기본/1904~현재(2023.11)까지의 자료를 저장했습니다.
엑셀로 다운 받은 파일을 열어봅니다.
년도, 월별로 평균기온, 최저 기온, 최고 기온의 데이터가 저장되어 있습니다.
상단위 7개 행은 삭제합니다.
1950년~1953년(아마 6,25 전쟁 기간)의 데이터도 비어있습니다. 이 기간도 삭제합니다.
1월의 최고 온도의 변화를 그래프로 표현해 보겠습니다.
파이썬 코드를 작성합니다.
import matplotlib.pyplot as plt
import csv
f = open('ta_20231110105337.csv')
data = csv.reader(f)
next(data)
high=[]
for row in data:
if row[-1] != '':
if row[0].split('-')[1]=='01': #1월
high.append(float(row[-1])) #최고 온도
plt.figure(figsize=(10,4))
plt.plot(high)
plt.show()
f.close()
이번에는 최고 온도와 최저 온도를 함께 표현해 보겠습니다.
import matplotlib.pyplot as plt
import csv
f = open('ta_20231110105337.csv')
data = csv.reader(f)
next(data)
high=[]
low=[]
for row in data:
if row[-1] != '':
if row[0].split('-')[1]=='01': #1월
high.append(float(row[-1]))
low.append(float(row[-2]))
plt.figure(figsize=(10,4))
plt.plot(high, 'orange')
plt.plot(low, 'lightblue')
plt.show()
f.close()