ストリッププロットによる人事データ可視化例です。ストリッププロットは量的変数のばらつきを点群で可視化する手法で、量的変数とカテゴリ変数の関係を確認するために利用されます。各層の平均値や代表値を重ねることも可能です。

人事データの可視化例

代表値付きストリッププロット

人事データ可視化の狙い

  • 所属別の時間外勤務の状況を比較する。

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

利用するグラフ

  • ストリッププロット: カテゴリカル変数でグループ分けした量的変数の分布を観察する。

アプローチ

  • 時間外時間数を所属(部)でグループ分けして分布を比較する。
  • ストリッププロットの点の散布を観察し、ばらつきの違いを確認する。
  • ストリッププロットに中央値(黒実線)と平均値(赤破線)を追加し代表値の違いを確認する。(代表値の表現にはboxplotを利用)
  • 中央値と平均値のギャップから分布の偏りを確認する。

グラフの作り方

  • Pythonのseaborn.stripplotとseaborn.boxplotによる可視化例。
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='ticks')
plt.rcParams["figure.figsize"] = (6, 6)
japanize_matplotlib.japanize()

# データの読み込みと加工
df_hr = pd.read_csv('./HRトイデータ_人事情報_拡張版.csv')
df_hr['年代'] = pd.Categorical(df_hr['年代'], categories = [20,30,40,50,60])

# グラフ
fig, ax = plt.subplots()
sns.stripplot(data=df_hr, x='部', y='時間外時間数_月平均', alpha=.7, ax=ax)
sns.boxplot(data=df_hr, x='部', y='時間外時間数_月平均', ax=ax,
  showmeans=True, meanline=True, meanprops={'color': 'darkred', 'lw': 1},
  whiskerprops={'visible': False},
  showfliers=False, showbox=False, showcaps=False)