棒グラフを使った人事データの可視化例です。棒グラフは量を比較するときに利用され、層別のデータ数や量的変数の平均値などの大きさを棒の長さで表現します。
人事データの可視化例

人事データ可視化の狙い
- 全社的な人員配置戦略を検討するため、組織毎の在籍人数を確認する。
人事データ可視化アプローチ
利用するグラフ
- 棒グラフ: カテゴリ変数の度数や、他の変数に対する統計量を棒の長さで表現する。
アプローチ
- 所属別に従業員数を数え上げ、棒グラフで可視化する。
- グラフに所属の平均在籍人数を追記し、相対的に人数の多い部署や少ない部署を確認する。
グラフの作り方
- Pythonのseaborn.countplotによる可視化例。
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')
plt.rcParams["figure.figsize"] = (8, 12)
japanize_matplotlib.japanize()
df_hr = pd.read_csv('./HR-toydata/HRトイデータ_人事情報_拡張版.csv')
fig, ax = plt.subplots()
sns.countplot(data=df_hr, y='所属')
ax.set_title('所属毎の在籍人数(ヘッドカウント)')
hc_mean = df_hr.groupby('所属').size().mean() # 部の平均在籍人数
ax.axvline(x=hc_mean, c='sandybrown', linestyle='--')
ax.text(x=hc_mean+0.1, y=38, s=f'平均在籍人数: {hc_mean}', c='black')- seaborn.barplotを使う場合は、事前に集計しておく必要がある。
df_counts = df_hr.groupby('所属').size().reset_index(name='人数')
fig, ax = plt.subplots(figsize=(8, 12))
sns.barplot(data=df_counts, x='人数', y='所属', ax=ax)
