Python with Jupyter
개발환경(클릭)
코드 및 부연설명
ModuleNotFoundError: No module named 'matplotlib'
matplotlib
모듈이 설치되지 않았을 경우 발생합니다.
명령어!pip install matplotlib
로 설치하여 해결했습니다.
f = open('incheon_weather.csv', 'r', encoding ='CP949')
Windows 는 한글을
CP949
방식으로 인코딩합니다.
macOS 는 한글을utf-8
방식으로 인코딩합니다.
따라서 Windows 에서 만든incheon_weather.csv
를 macOS 에서 읽으면UnicodeDecodeError
가 발생합니다.
'CP949'
로 인코딩 옵션을 지정하여 파일을 불러왔습니다.
if row[0].split('-')[1] == '01' and row[0].split('-')[2] == '07':
high.append(float(row[-1]))
low.append(float(row[-2]))
row[0]
, 즉'YYYY-MM-DD'
로 이루어진 문자열의MM
부분이01
이고,DD
부분이07
일 경우,
맨 뒤의 데이터인 최고기온을high
에 추가하고,
맨 뒤의 앞 데이터인 최저기온을low
에 추가합니다.
print(len(high))
결과값은 117이 나오며, 이는 1904년부터 2022년, 총 117년간의 데이터를 의미합니다.
high
대신low
로 변경해도 값은 117로 같습니다.
plt.rcParams['axes.unicode_minus'] = False
마이너스 부호가 깨질 경우 사용합니다.
plt.rc('font', family = 'NanumGothic')
맑은고딕
에서나눔고딕
으로 변경하였습니다.
해당 폰트가 설치되어있지 않다면 글씨가 깨집니다.
plt.suptitle('매년 1월 7일의 최고기온과 최저기온')
그래프의 제목을 나타내기 위해 사용합니다.
plt.xlabel('1904년을 기준으로 몇 년이 지났는가')
plt.ylabel('기온')
각각 x축과 y축의 이름을 지정하기 위해 사용합니다.
plt.plot(high, color='#ff91a4', label='최고기온', ls='-')
plt.plot(low, color='#ccccff', label='최저기온', ls='-')
plt.legend(loc=0)
좋아하는 색상인 페리윙클과 새먼핑크로 변경하였습니다.
label
과legend
를 이용해 범례를 표기했습니다.
ls
에 지원되는 값은 다음과 같습니다.
‘-‘, ‘–’, ‘-.’, ‘:’, ‘None’, ‘ ‘, ‘’ , ‘solid’, ‘dashed’, ‘dashdot’, ‘dotted’