あい
今回は二元配列の
データから
Pythonで箱ひげ図
を作成、実装します
[PR]※本サイトにはプロモーションが含まれています
合わせて読みたい
箱ひげ図(box plot)とは?
箱ひげ図は統計データの分布を視覚的に示すために
使用される図の一種です。
データから四分位数、最大値
の5数を表現し
箱のようにグラフ化したものの事です
データの外れ値やデータのばらつき具合を
把握するのに役に立ちます
あい
5数について
知りたい方は
こちらから!
二元配列とは?
二元配列とは
縦方向と横方向に添え字を
用いてデータを管理する方法です
横方向をx,縦方向をyとすると
a[y][x]といった形でデータを管理することができます
pythonで二元配列を作ると
a[y][x] | x方向 | |||||
y方向 | a[0][0] | a[0][1] | a[0][2] | a[0][3] | a[0][4] | a[0][5] |
a[1][0] | a[1][1] | a[1][2] | a[1][3] | a[1][4] | a[1][5] | |
a[2][0] | a[2][1] | a[2][2] | a[2][3] | a[2][4] | a[2][5] | |
a[3][0] | a[3][1] | a[3][2] | a[3][3] | a[3][4] | a[3][5] |
pythonで二元配列のデータを実装してきます
data = [
[10,20,30,40,50],
[-1,-2,-3,-4,-5],
[-10,-9,-8,-7,-6]
]
a[0][0]~a[0][5]に入るデータは
[10,20,30,40,50]です
列が変わるときは
[,]のように
,で区切ります
行が変わるときも
[],[]のように
,で区切ります
二元配列のデータから箱ひげ図を作る
東京とニューヨークとベルリンの
仮想データを二元配列に格納して
箱ひげ図を作っていきます
tokyo_temperatures = [5.0, 5.2, 5.1, 4.9, 5.3, 5.4, 5.1, 5.2, 4.8, 5.0]
newyork_temperatures = [-1.0, -0.5, -1.3, -0.8, -1.1, -0.9, -1.2, -0.7, -1.0, -0.6]
berlin_temperatures = [0.0, 0.2, 0.1, -0.1, 0.0, 0.1, 0.2, 0.1, -0.2, 0.0]
data = [tokyo_temperatures, newyork_temperatures, berlin_temperatures]
# 配列を表示
for row in temperatures:
print(row)
あい
配列に格納できました!
このデータを箱ひげに
していきます
Matplotlibで箱ひげを実装
import matplotlib.pyplot as plt
tokyo_temperatures = [5.0, 5.2, 5.1, 4.9, 5.3, 5.4, 5.1, 5.2, 4.8, 5.0]
newyork_temperatures = [-1.0, -0.5, -1.3, -0.8, -1.1, -0.9, -1.2, -0.7, -1.0, -0.6]
berlin_temperatures = [0.0, 0.2, 0.1, -0.1, 0.0, 0.1, 0.2, 0.1, -0.2, 0.0]
data = [tokyo_temperatures, newyork_temperatures, berlin_temperatures]
plt.figure(figsize=(10,6))
plt.boxplot(data,labels=["Tokyo","New York","Berlin"])
plt.title("January Average Temperatures")
plt.ylabel("Temperature(℃)")
箱に色を入れたい時は
patch_artist = True
plt.boxplot(data,labels=["Tokyo","New York","Berlin"],patch_artist = True)
箱を横にしたい時は
vert = False
Seabornで箱ひげを実装
import matplotlib.pyplot as plt
import seaborn as sns
# データの定義
tokyo_temperatures = [5.0, 5.2, 5.1, 4.9, 5.3, 5.4, 5.1, 5.2, 4.8, 5.0]
newyork_temperatures = [-1.0, -0.5, -1.3, -0.8, -1.1, -0.9, -1.2, -0.7, -1.0, -0.6]
berlin_temperatures = [0.0, 0.2, 0.1, -0.1, 0.0, 0.1, 0.2, 0.1, -0.2, 0.0]
# データをリストにまとめる
data = [tokyo_temperatures, newyork_temperatures, berlin_temperatures]
# 図のサイズを設定
plt.figure(figsize=(10, 6))
# Seabornで箱ひげ図を作成
sns.boxplot(data=data)
# X軸のラベルを設定
plt.xticks([0, 1, 2], ["Tokyo", "New York", "Berlin"])
# タイトルとY軸ラベルを追加
plt.title("January Average Temperatures")
plt.ylabel("Temperature (℃)")
# プロットを表示
plt.show()
# Seabornで箱ひげ図を作成
sns.boxplot(data=data,orient='h')