这里的目标是创建分组条形图,而不是像下图那样的子图
有没有一种简单的方法可以在Python中创建分组条形图?现在我得到的是单独的条形图,而不是一个图上的单独条形图
将熊猫作为pd导入
df=pd.数据帧([[g1',c1',10],'g1',c2',12],'g1',c3',13],'g2',c1',8],'g2',c2',10],'g2',c3',12],[group',column',val]列)
组列值
0 g1 c1 10
1 g1 c2 12
2 g1 c3 13
3 g2 c1 8
4 g2 c2 10
5 g2 c3 12
df.groupby(['group']).plot(kind='bar')
熊猫将按列显示分组的条形图。每行不同列中的条目将构成结果图中的一个组。因此,您需要“重塑”数据帧,使“组”成为列。
在这种情况下,您可以像
df.pivot(“列”、“组”、“值”)
生产
g1组和g2组
柱
c1 10 8
c2 12 10
c3 13 12
绘制此图将生成分组条形图
将熊猫作为pd导入
将matplotlib.pyplot作为plt导入
df=pd.数据帧([[g1','c1',10],'g1','c2',12],'g1','c3',13],'g2','c1',8],
['g2','c2',10],'g2','c3',12]],列=['group','column','val'])
轴(“列”、“组”、“值”)绘图(种类='bar')
plt.show()