Matplotlib(応用編)
Contents
Matplotlib(応用編)#
実際のデータから、プロットをしてみよう!
オブジェクト指向インターフェースを軽く使ってみます。
import matplotlib.pyplot as plt
import pandas as pd
# 日本語対応
from matplotlib import rcParams
rcParams['font.family'] = 'sans-serif'
rcParams['font.sans-serif'] = ['Hiragino Maru Gothic Pro', 'Yu Gothic', 'Meirio', 'Takao', 'IPAexGothic', 'IPAPGothic', 'VL PGothic', 'Noto Sans CJK JP']
データの読み込み#
# colabでは不要
!mkdir -p sample_data
!curl -o "sample_data/california_housing_train.csv" -sL https://download.mlcc.google.com/mledu-datasets/california_housing_train.csv
df = pd.read_csv('sample_data/california_housing_train.csv')
print(df.head(5))
longitude latitude housing_median_age total_rooms total_bedrooms \
0 -114.31 34.19 15.0 5612.0 1283.0
1 -114.47 34.40 19.0 7650.0 1901.0
2 -114.56 33.69 17.0 720.0 174.0
3 -114.57 33.64 14.0 1501.0 337.0
4 -114.57 33.57 20.0 1454.0 326.0
population households median_income median_house_value
0 1015.0 472.0 1.4936 66900.0
1 1129.0 463.0 1.8200 80100.0
2 333.0 117.0 1.6509 85700.0
3 515.0 226.0 3.1917 73400.0
4 624.0 262.0 1.9250 65500.0
図の作成#
fig = plt.figure(figsize=(16, 8))
ax1 = fig.add_subplot(1, 2, 1)
ax2 = fig.add_subplot(1, 2, 2)
複数プロット
fig = plt.figure()
↑新しい図(figureオブジェクト)を作成する。
ax1 = fig.add_subplot(1, 2, 1)
ax2 = fig.add_subplot(1, 2, 2)
↑figを1行2列に分けて、ax1
その1つ目(左側)に、ax2
を2つ目(右側)に割り当てる。
散布図のプロット#
左側の図(ax1
)に散布図をプロットしてみます。
データ
横軸:所得の中央値
縦軸:家賃の中央値
ax1.scatter(df['median_income'], df['median_house_value'], c="tab:blue")
ax1.set_title("Income and HouseValue") # 散布図のタイトル
ax1.set_xlabel("median income") # x軸のラベル
ax1.set_ylabel("median house value") # y軸のラベル
fig
箱ひげ図のプロット#
右側の図(ax2
)に箱ひげ図をプロットしてみます。
データ
家賃の中央値
ax2.boxplot(df['median_house_value'], labels=["median house value"])
ax2.set_title("House Value")
fig
タイトルの設定#
最後にタイトルをつけてみましょう。
fig.suptitle("所得と家賃の関係", fontsize=20) # figの上にタイトルを設定
fig
割といい感じの図ができたんじゃないでしょうか??