Python

(파이썬) matplotlib: 기온 데이터로 기온 변화 그래프 그리기

코딩ABC 2023. 11. 10. 12:35
반응형

파이썬의 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()

기온 변화: 1월의 최고 기온 변환 그래프

 

 

이번에는 최고 온도와 최저 온도를 함께 표현해 보겠습니다.

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()

기온 변화: 1월의 최고, 최저 기온 변환 그래프

반응형