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