在Python中绘制给定数据帧的多个堆叠条形图

在Python中绘制给定数据帧的多个堆叠条形图,python,pandas,Python,Pandas,有几件事我想用条形图来表达,但我不知道如何使用matplotlib中的基本绘图技术来表达。我有一个如下所示的数据框,希望获得如下所述的条形图。x轴基于数据帧的类型列,在单个条内,不同的颜色基于名称列,条的大小由计数数字定义。不同类型的不同名称的颜色不必相同, 只要单个条内的颜色不同。 您可以使用pivot,然后打印 df.pivot('Type', 'Name', 'Count').plot(kind = 'bar', stacked = True, color = ['b','g','ora

有几件事我想用条形图来表达,但我不知道如何使用
matplotlib
中的基本绘图技术来表达。我有一个如下所示的数据框,希望获得如下所述的条形图。x轴基于数据帧的
类型
列,在单个条内,不同的颜色基于
名称
列,条的大小由
计数
数字定义。不同类型的不同名称的颜色不必相同, 只要单个条内的颜色不同。

您可以使用pivot,然后打印

df.pivot('Type', 'Name', 'Count').plot(kind = 'bar', stacked = True,  color = ['b','g','orange','m', 'r'])
编辑:对值进行排序

df.pivot('Type', 'Name', 'Count').sort_values(by = 'A', ascending = False, axis = 1)\
.plot(kind = 'bar', stacked = True, color = ['g','r','b','orange', 'm'])

如果您想更改绘图的大小,请使用arg
figsize=(15,5)


有没有办法把柱状图按计数的降序排列?我想我知道怎么做。我可以创建一个名为“Sum”的额外列,它是其他列的总和,并在打印之前根据该列进行排序。非常感谢你的帮助!这很好:)请参见编辑以进行排序,并感谢您接受:)
df.pivot('Type', 'Name', 'Count').sort_values(by = 'A', ascending = False, axis = 1)\
.plot(kind = 'bar', stacked = True, color = ['g','r','b','orange', 'm'], figsize=(15,5))