ここでは「Matplotlib」を用いた折れ線グラフ(boxplot)を作成する方法について解説しています。
この記事の対象
基本的な型
Axes.boxplot(x)
「Axes.boxplot」は最低、データを引数に渡す必要があります。
具体的なプロット例を以下にまとめています。ご参照下さい。
箱ひげ図の作成
デフォルトの箱ひげ図
import matplotlib.pyplot as plt
import numpy as np
# データの生成
np.random.seed(0)
data = np.random.normal(size=(100, 4), loc=0, scale=1)
# FigureとAxesの作成
fig, ax = plt.subplots()
# 箱ひげ図の描画
ax.boxplot(data)
# グラフのタイトル、x軸のラベル、y軸のラベルを設定
ax.set_title('Boxplot')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
# グラフを表示
plt.show()
デフォルトの箱ひげ図は「ax.boxplot()」に指定のデータを引数で渡すだけで作成できます。丸の記号は外れ値になります。
ちなみにこのサンプルコードでは、
「np.random.normal()」関数を使用して、平均が0、標準偏差が1の正規分布に従うランダムなデータを生成して使用しています。
【結果】
水平にする
import matplotlib.pyplot as plt
import numpy as np
# データの生成
np.random.seed(0)
data = np.random.normal(size=(100, 4), loc=0, scale=1)
# FigureとAxesの作成
fig, ax = plt.subplots()
# 箱ひげ図の描画
ax.boxplot(data,vert=False)
# グラフのタイトル、x軸のラベル、y軸のラベルを設定
ax.set_title('Boxplot')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
# グラフを表示
plt.show()
デフォルトでは垂直方向なので、引数にvertを指定してFalseにするだけです。
【結果】
ノッチで表現
import matplotlib.pyplot as plt
import numpy as np
# データの生成
np.random.seed(0)
data = np.random.normal(size=(100, 4), loc=0, scale=1)
# FigureとAxesの作成
fig, ax = plt.subplots()
# 箱ひげ図の描画
ax.boxplot(data,notch=True)
# グラフのタイトル、x軸のラベル、y軸のラベルを設定
ax.set_title('Boxplot')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
# グラフを表示
plt.show()
ノッチで表現する場合は「notch=True」を指定するだけです。
【結果】
平均値のプロット
import matplotlib.pyplot as plt
import numpy as np
# データの生成
np.random.seed(0)
data = np.random.normal(size=(100, 4), loc=0, scale=1)
# FigureとAxesの作成
fig, ax = plt.subplots()
# 箱ひげ図の描画
ax.boxplot(data,showmeans=True)
# グラフのタイトル、x軸のラベル、y軸のラベルを設定
ax.set_title('Boxplot')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
# グラフを表示
plt.show()
平均値をプロットしたい場合は「showmeans」をTrueにするだけです。
【結果】