Python Matplotlib 의 사용법~도쿄의 여름의 기온 조사로 사용해 보았다~

소개



Python은 Matplotlib라는 그래프를 그리는 라이브러리를 제공합니다. Matplotlib의 초보적인 사용법을 기억해 쓰는 것과 동시에, 도쿄의 여름의 기온의 변화를 그래프화해 보겠습니다.

먼저 해보자


import matplotlib.pyplot as plt
plt.plot(X, Y)
# X:X軸の配列 Y:Y軸の配列

이것만으로 그래프는 그릴 수 있습니다.
예를 들어, $x^3$의 그래프를 그려 보겠습니다.
X = [n for n in range(1,100)]
Y = [(x-50)*x**2 for x in X]
plt.plot(X, Y)



둘 이상의 그래프를 겹칠 수도 있습니다.
Z = [x*(x-40)*(x-80) for x in X]
plt.plot(X, Y)
plt.plot(X, Z)



도쿄의 여름 기온 조사



기상청에는 과거 기상 데이터가 있다. ( 과거 기상 데이터 다운로드 )
이것을 연별으로 8월의 평균 기온을 Matplotlib를 사용해 그래프화해 본다.
절각이므로 Pandas를 사용하여 그래프의 원본 데이터를 추출해 보기로 했다.
※ 다운로드한 CSV 파일


위의 CSV 파일을 Pandas로 읽어보십시오. (Pandas에서 처리 할 수 ​​있도록 헤더를 알파벳으로 변경하고 있습니다)
import pandas as pd
df = pd.read_csv("tokyo.csv")
df


기온(temp)에 값이 없는 해가 있기 때문에 이것을 dropna() 로 제거한다.
df.dropna()


또한, 8월만을 꺼내, X축(년월), Y축(월평균 기온)을 만들어, Matplotlib로 그래프를 그려 본다.
X = df.dropna().query('year.str.contains("\\/8")')['year']
Y = df.dropna().query('year.str.contains("\\/8")')['temp']
plt.plot(X,Y)



X축(년월)을 읽을 수 없기 때문에, 가로폭을 넓혀, 세로 표시로 변경해 본다.
plt.figure(figsize=(16, 5))
plt.xticks(rotation='vertical')
plt.plot(X,Y)


나이가 들어감에 따라 기온이 상승하는 것처럼 보입니다.
상기의 그래프에 삿포로, 나하의 데이터도 더해 봅니다.
df3 = pd.read_csv("naha.csv")
X3 = df3.dropna().query('year.str.contains("\\/8")')['year']
Y3 = df3.dropna().query('year.str.contains("\\/8")')['temp']
df5 = pd.read_csv("sapporo.csv")
X5 = df5.dropna().query('year.str.contains("\\/8")')['year']
Y5 = df5.dropna().query('year.str.contains("\\/8")')['temp']

도쿄를 파랑, 삿포로를 녹색, 나하를 빨강으로 그래프 표시해 봅니다.
plt.figure(figsize=(16, 5))
plt.xticks(rotation='vertical')
plt.plot(X,Y,color='blue')
plt.plot(X3,Y3,color='red')
plt.plot(X5,Y5,color='green')


그래프를 본 한에서는, 도쿄가 서서히 나하의 기온에 접근해 가고 있습니다.
한편 삿포로는 조금 기온이 상승하고있는 것처럼 보이지만, 오르막 폭은 도쿄만큼이 아닌 느낌입니다.

요약



Matplotlib의 공부를 겸해 도쿄의 여름의 기본 조사를 해 보았습니다.
Matplotlib에는 여기에서 사용한 것 이외에도 매개 변수가 많이 있어 세세한 제어를 할 수 있는 것 같습니다.
다만, X축의 배열, Y축의 배열을 준비해 plot 하면 그래프가 그릴 수 있는 점을 눌러 두면, 부담없이 편리하게 사용할 수 있는 도구입니다.
※ 모두 Jupyter notebook에서 실행하고 있습니다.

좋은 웹페이지 즐겨찾기