【Python】Matplotlibで箱ひげ図を描こう!

こんにちは!

皆さんは箱ひげ図を作成しようと思ったことはありますか?

箱ひげ図は、データの散らばりを簡単に表現できて便利ですよ。

Matplotlibのboxplot()を使えば、この便利な箱ひげ図を簡単に描くことができます。

そこで今回の記事では、箱ひげ図を作成する以下の方法を紹介します。

  • 箱ひげ図を1つ描く
  • 箱ひげ図を複数並べる

箱ひげ図

箱ひげ図とは、最大値最小値四分位数の情報が含まれている図のことです。

四分位数は、小さい方から順に、第1四分位数第2四分位数(中央値と同じ値)、第3四分位数といいますね。

以下の図は、箱ひげ図の例です。

四分位数は、以下に置き換えるとわかりやすいかと思います。

  • 第一四分位数 = 25パーセンタイル
  • 第二四分位数 = 50パーセンタイル
  • 第三四分位数 = 75パーセンタイル

箱ひげ図は、主にデータの散らばりを見るのに使用されます。

箱ひげ図を描く方法

箱ひげ図を描くには、「boxplot()」を使用します。

箱ひげ図を1つ描く

まずはじめに、箱ひげ図1つだけ描く基本的な方法を紹介します。

以下のプログラムは、数学の点数データを用いて箱ひげ図を作成するプログラムです。

import matplotlib.pyplot as plt

math = [71, 80, 95, 52, 93, 68, 98, 30, 78, 60]

fig1, ax1 = plt.subplots()
ax1.set_title('Test score')
ax1.set_xticklabels(['Math'])
ax1.boxplot(math)
plt.show()

解説

fig1, ax1 = plt.subplots()
この部分で、グラフの土台を作成します。
ax1.set_title(‘Test score’)
ax1.set_xticklabels([‘Math’])
グラフタイトル箱ひげ図のラベルを設定します。
ax1.boxplot(math)
数学の点数データを用いて箱ひげ図を作成します。
plt.show()
グラフを表示します。

実行結果

箱ひげ図を複数描く

箱ひげ図を並べることによってデータの散らばりの比較ができますね。

もちろんMatplotlibでも、箱ひげ図を並べて作成することができます。

以下のプログラムは、数学と英語の点数データを用いて、箱ひげ図を複数作成するプログラムです。

import matplotlib.pyplot as plt

math = [71, 80, 95, 52, 93, 68, 98, 30, 78, 60]
english = [62, 89, 82, 95, 92, 89, 91, 72, 75, 93]

data = (math, english)

fig1, ax1 = plt.subplots()
ax1.set_title('Test score')
ax1.set_xticklabels(['Math', 'English'])
ax1.boxplot(data)
plt.show()

解説

data = (math, english)
ax1.boxplot(data)
boxplot()に複数のデータを渡すことで、複数の箱ひげ図を作成することができます。

実行結果

まとめ

今回の記事では、箱ひげ図を作成する以下の方法を紹介しました。

  • 箱ひげ図を1つ描く
     →boxplot()を使用
  • 箱ひげ図を複数並べる
     →boxplot()に複数のデータを渡す

データの説明にもよく使用されるので、しっかりと箱ひげ図の作成方法を理解しておきましょう!