箱ひげ図とストリッププロットを使った人事データの可視化例です。箱ひげ図は量的変数の分布を比較する上で重宝されるグラフですが、分布の偏りや形状が分からないという欠点があります。そこで、ストリッププロットと組み合わせて可視化することで、データの分布を細かく確認することができます。

人事データ可視化の例

箱ひげ図+ストリッププロット

人事データ可視化の狙い

  • グレード別の時間外勤務状況を確認し、労務管理上の課題を探る。
  • 平均値や中央値では見えにくいばらつきを確認する。

人事データ可視化アプローチ

利用するグラフ

  • 箱ひげ図: 四分位数を利用して量的変数の分布を確認する。 
  • ストリッププロット: カテゴリカル変数でグループ分けした量的変数の分布を観察する。

アプローチ

  • 順序尺度に変換したグレードを横軸にとり、時間外時間数を縦軸にとった箱ひげ図を描く。続いて同様にストリッププロットで点を打つ。
  • 箱ひげ図とストリッププロットの違いを確認しながら、各グレードに複数のクラスターがあることを確認する。
  • ストリッププロットを性別等の他のカテゴリカル変数で色分けすることで、クラスターを特徴付ける変数がないか確認する。
  • これらの点をグレード間で比較しながら特徴を探る。

グラフの作り方

  • Pythonのseaborn.boxplotとseaborn.stripplotを使った可視化例。
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import japanize_matplotlib
import seaborn as sns

sns.set_theme(style='darkgrid')
japanize_matplotlib.japanize()

# データの読み込みと加工
df_hr = pd.read_csv('./HRトイデータ_人事情報_拡張版.csv')
df_hr['グレード'] = pd.Categorical(df_hr['グレード'], categories = ['E','S','L','M'])

# グラフ
fig, ax = plt.subplots(figsize=(6,6))
sns.boxplot(data=df_hr, x='グレード', y='時間外時間数_月平均', color='w', ax=ax)
sns.stripplot(data=df_hr, x='グレード', y='時間外時間数_月平均',alpha=.6, hue='性別', ax=ax)
ax.set_title('グレード別 時間外時間数の分布')