はじめに
今回は、pythonのライブラリである。matplotlibの機能を学習しようと思います。
私はmatplotlibをよく理解できずにコピペして使っているので、基礎的な部分を理解していこうと思います。
実行環境
バージョン python 3.10.12 matplotlib 3.8.0
プラットフォーム Colablatory
最初の宣言
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
numpyは、数値計算を行う用
pandsは、csvファイルを読み込む用
matplotlibは、グラフを描画します。
(Colablatoryで実行しているためインストールを省いています。)
宣言名は、基本的なものにします。
グラフを書く
まずは簡単な折れ線グラフを書こうと思います。
data = [1, 2, 4, 8, 16, 32]
plt.plot(data)
plt.show()
dataという配列のリスト番号がx軸、リストの中の値がやy軸の折れ線グラフになっています。
カスタマイズする
先ほどの折れ線グラフをカスタマイズしてみます。
plt.plot(data, marker='o', color='#7f7f7f', linestyle=':')
#グラフの色、点線、マーカーに点をつける。
plt.title('Glaph Title')
#タイトルを付ける
plt.xlabel('Xlabel')
#Xラベルに名前を付ける
plt.ylabel('Ylabel')
#Yラベルに名前を付ける
plt.grid(True)
#グリッド線を付ける。
plt.show()
できました。
散布図
#xは月ごとの平均気温(高松)
#yは月ごとの平均全天日射量(高松)
x = [8.7,6.9,7.6,9.9,17.3,19.3,23.7,29.5,30.6,28.5,21.6,14.6,10.2]
y = [8,9.1,9.9,14.4,16.4,20.1,18,20.3,20.9,17.4,11,9.3,9.4]
plt.scatter(x,y);
plt.show()
データのまとまりがわかりづらいので、回帰直線を引きます。
最小二乗法で回帰直線を求めます。
(なぜ求まるかの説明は、ほかで詳しく乗っているため省きます。)
x = [8.7,6.9,7.6,9.9,17.3,19.3,23.7,29.5,30.6,28.5,21.6,14.6,10.2]
y = [8,9.1,9.9,14.4,16.4,20.1,18,20.3,20.9,17.4,11,9.3,9.4]
#データの中心化
x = x - np.mean(x)
y = y - np.mean(y)
#回帰直線の傾きを求める(a)
xx = x*x
xy = x*y
a = xy.sum()/xx.sum()
plt.scatter(x,y);
plt.plot(x,a*x,color="k")
plt.show()
できました。
終わりに
理解できました。
これで終わります。
読んでいただきありがとうございました。