Python Matplotlib 箱ひげ図

このチュートリアルでは、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()

出力:

Matplotlib を使った Python の箱ひげ図

与えられたデータ 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()

出力:

Matplotlib を用いた Python の Boxplot(アウトライア付き

これは与えられたデータ 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()

出力:

Python による Matplotlib を用いた複数の箱ひげ図

リスト data_2d の中の NumPy 配列ごとに boxplot を作成します。これにより、共通の軸を持つ 4つの箱ひげ図が 1つの図の中で得られることになります。