NumpyとMatplotlibで箱ひげ図を作成します。デフォルトだと箱の色が白黒なので、見やすいように色を指定して箱ひげ図を塗りつぶします。
後々Numpyを使いたいので、無理矢理Numpyを使っていますが、箱ひげ図を作成するだけならNumpyは必要ありません。リストのままでも箱ひげ図は作成できます。
今回は、コードと画像だけです。
ソースコード
import matplotlib.pyplot as plt
import numpy as np
from random import randint
random_data = [randint(150,170) for i in range(20)] # ランダムデータ作成
random_data.append(185) # 外れ値を追加
sample_data = np.array(random_data) # リストをNumpyの配列に
plt.figure(figsize=(4,6), dpi=200) # 描画サイズ
plt.title('Dattesar') # タイトル
plt.grid() # グリッドを表示
# 箱ひげ図作成
plt.boxplot(sample_data, # データ指定
labels = ['Sample'], # ラベル
#vert=False, # 横向き表示(する場合はアンコメント)
showmeans = True, # 算術平均を表示
patch_artist = True, # 詳細設定を可能に
widths = 0.5, # boxの幅
boxprops = dict(
facecolor='pink', # box塗りつぶし色
color='red', # box枠線の色
alpha=0.6, # box色の透過率
linewidth=2 # box枠線の幅
),
medianprops = dict(color='blue', linewidth=1), # 中央値
whiskerprops = dict(color='red', linewidth=1), # ヒゲ線
capprops = dict(color='red', linewidth=1), # ヒゲ線の先端
flierprops = dict(markeredgecolor='red', markeredgewidth=1) # 外れ値
)
# 画像を保存
plt.savefig('sample.png')
箱ひげ図
緑色の▲が算術平均です。