【Python】二元配列のデータを利用して箱ひげ図を実装する

グラフ実装
あい
あい

今回は二元配列の

データから
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')
タイトルとURLをコピーしました