Python Matplotlib 의 사용법~도쿄의 여름의 기온 조사로 사용해 보았다~
10854 단어 pandas파이썬기온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에서 실행하고 있습니다.
Reference
이 문제에 관하여(Python Matplotlib 의 사용법~도쿄의 여름의 기온 조사로 사용해 보았다~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/pi301415/items/1fad53fe11115a623402
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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에서 실행하고 있습니다.
Reference
이 문제에 관하여(Python Matplotlib 의 사용법~도쿄의 여름의 기온 조사로 사용해 보았다~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/pi301415/items/1fad53fe11115a623402
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import pandas as pd
df = pd.read_csv("tokyo.csv")
df
df.dropna()
X = df.dropna().query('year.str.contains("\\/8")')['year']
Y = df.dropna().query('year.str.contains("\\/8")')['temp']
plt.plot(X,Y)
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에서 실행하고 있습니다.
Reference
이 문제에 관하여(Python Matplotlib 의 사용법~도쿄의 여름의 기온 조사로 사용해 보았다~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pi301415/items/1fad53fe11115a623402텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)