绘制多个堆叠条形图

plotting multiple stacked bar chart

我有以下数据框,它计算每个业务部门中每个性别的经理和非经理人数(这是一个多重指数,将每个业务部门中是否为经理的男性和女性的价值相加)。如您所见,业务部门可能只有非经理或经理作为员工:

                                       Female  Male
Business Unit Professional Category              
South         Non Manager                37    45
West          Non Manager                31    37
East          Manager                    14    15
              Non Manager               342   412
Noth          Manager                     5     5
              Non Manager               457   550
Center        Non Manager                44    53

我想创建一个堆积条形图,其中在 x 轴上我有专业类别(一个条代表经理,一个单独的条代表非经理),在每个条中都有男性和女性的堆叠数量.但我需要为每个区域重复同样的堆叠条形图:南、西、东、北、中。

在 matplotlib/seaborn 中显示此信息最优雅的方法是什么?

在此先感谢您!

IIUC,尝试:

import matplotlib.pyplot as plt

fig, ax = plt.subplots(1, 5, figsize=(20, 8))
iax = iter(ax.flatten())
for n, g in df.groupby('Business Unit'):
    g.loc[n, :].plot.bar(ax=next(iax), title=f'{n}', stacked=True)