2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Python Matplotlib の使い方 ~東京の夏の気温調査で使ってみた~

Posted at

#はじめに
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)

キャプチャ.JPG

2つ以上のグラフを重ねることもできます。

Z = [x*(x-40)*(x-80) for x in X]
plt.plot(X, Y)
plt.plot(X, Z)

キャプチャ.JPG

#東京の夏の気温調査
気象庁に過去の気象データがある。(過去の気象データ・ダウンロード
これを年別に8月の平均気温をMatplotlibを使ってグラフ化してみる。
折角なので Pandas を使ってグラフの元データを抽出してみることにした。
※ ダウンロードしたCSVファイル
無題.png

上記のCSVファイルをPandasで読み込んでみる。(Pandasで処理できるようにヘッダをアルファベットに変更している)

import pandas as pd
df = pd.read_csv("tokyo.csv")
df

キャプチャ.JPG
気温(temp)に値の無い年があるため、これを dropna() で取り除く。

df.dropna()

キャプチャ.JPG
更に、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)

キャプチャ.JPG

X軸(年月)が読めないので、横幅を広げて、縦表示に変更してみる。

plt.figure(figsize=(16, 5))
plt.xticks(rotation='vertical')
plt.plot(X,Y)

キャプチャ.JPG
年を追うごとに気温が上昇しているように見えます。
上記のグラフに札幌、那覇のデータも加えてみます。

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

キャプチャ.JPG
グラフを見た限りでは、東京が徐々に那覇の気温に近づいて行ってます。
一方で札幌は少し気温が上昇しているようにも見えますが、上り幅は東京ほどではない感じです。

#まとめ
Matplotlibの勉強を兼ねて東京の夏の基本調査をやってみました。
Matplotlibには、ここで使ったもの以外にもパラメーターが数多くあり、細かな制御ができるようです。
ただし、X軸の配列、Y軸の配列を用意して plot すればグラフが描ける点を押さえておけば、気軽で便利に使える道具です。
※全て Jupyter notebook 上で実行しています。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?