Python Matplotlib 箱ひげ図
Suraj Joshi
2021年3月5日
このチュートリアルでは、Python の matplotlib.pyplot.boxplot()
関数を使って箱ひげ図を作成する方法を説明します。
箱ひげ図は、データの 最小値
、第 1 四分位
、中央値
、第 3 四分位
、最大値
の位置に関する情報を与えることで、データに関する洞察を得るのに役立ちます。
Python の boxplot
(Matplotlib) での箱ひげ図の使い方
import matplotlib.pyplot as plt
x = [4, 5, 6, 8, 9, 10, 10, 11, 11, 12, 13, 14, 15, 15, 15, 17, 18, 19, 22, 23, 25]
plt.boxplot(x)
plt.title("Boxplot Using Matplotlib")
plt.show()
出力:
与えられたデータ x
から箱ひげ図を作成します。箱ひげ図では、ボックスは Q1
から Q3
まで伸び、ボックス内の水平線はデータの中央値を表します。箱ひげ図のウィスカは、Q3
からデータの最大値
まで、データの最小値
からデータの Q1
まで伸びる。
データの最小値は Q1-1.5(Q3-Q1)
の値で決まり、最大値は Q3+1.5(Q3-Q1)
の式で決まる。
import matplotlib.pyplot as plt
x = [
1,
4,
5,
6,
8,
9,
10,
10,
11,
11,
12,
12,
13,
14,
15,
15,
15,
17,
18,
18,
19,
22,
23,
25,
30,
33,
35,
]
plt.boxplot(x)
plt.title("Boxplot Using Matplotlib")
plt.show()
出力:
これは与えられたデータ x
の箱ひげ図をプロットします。また、箱ひげ図の上部に丸で示された 2つの外れ値があることに気づくだろう。
データ点の値が Q1-1.5(Q3-Q1)
より小さいか、あるいは Q3+ 1.5(Q3-Q1)
より大きい場合、外れ値としてプロットされます。
関数 matplotlib.pyplot.boxplot()
に 2 次元配列を引数に渡すと、関数 boxplot()
は 2 次元配列内の各配列またはリストに対して boxplot
を作成します。
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(100)
data_a = np.random.randint(2, 15, size=15)
data_b = np.random.randint(5, 18, size=20)
data_c = np.random.randint(2, 20, size=30)
data_d = np.random.randint(1, 30, size=40)
data_2d = [data_a, data_b, data_c, data_d]
plt.boxplot(data_2d)
plt.title("Boxplot Using Matplotlib")
plt.show()
出力:
リスト data_2d
の中の NumPy 配列ごとに boxplot
を作成します。これにより、共通の軸を持つ 4つの箱ひげ図が 1つの図の中で得られることになります。
著者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn