我有一个数据框,其中包含各个组的总计,我想绘制所有组的总计,但按组进行着色(以可视化每个组对总计的贡献)。

import pandas as pd
data = pd.DataFrame({'Group': [1, 2, 3, 4, 5],
                 'total': [20.0, 5.0, 30.0, 2.0, 21.0]})


我尝试使用

pd.crosstab(data.Group, data.total).plot.barh(stacked=True)




data['cumsum'] = data['total'].cumsum()
data['cumsum'].plot.barh(stacked=True)




data.pivot_table(values=['total'],
                  index='Group',
                  aggfunc='sum').plot(kind='bar', stacked=True)


但是这些都不是我想要的-这是一个单个的条,每个组的总计彼此堆叠并按组着色。

最佳答案

尝试这个:

data.T.loc[['cumsum']].plot.barh(stacked=True)

关于python - 百分比堆积条形图 Pandas ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56580727/

10-11 22:25
查看更多