我已设法使用matplotlib.pyplot制作以下条形图。
该图来自下面打印的聚合PANDAS DataFrame。请注意,条形图中的每个条形对应于mean
列中的值。另请注意,值不为零,但当浮点数非常小时,PANDAS会输出0
和-0
。
Group Local Global Attn mean
ASub LD GD Attn -0
Dist -0
GS Attn -0
Dist -0
LS GD Attn -0
Dist -0
GS Attn -0
Dist -0
DSub LD GD Attn -0
Dist 0
GS Attn -0
Dist -0
LS GD Attn -0
Dist -0
GS Attn -0
Dist -0
我想以对应于上述标签的方式分层标记条形图的x轴。换句话说,x轴的左半部分对应于ASub
组。 ASub
组的左半部分对应LD
因子的Local
级别,依此类推......
可以这样做吗?
修改
我想我应该澄清一下我想要的东西。我希望有几个标签,从最常见(Group)到最具体(Attn),类似于上面DataFrame左侧4列的组织。
答案 0 :(得分:5)
在master上实现了这个(我使用了'mean'的随机数据),请参见底部的图片。 如果您不想升级,也可以手动设置:
In [143]: ax = df.plot(kind='bar')
In [144]: ax.set_xticklabels(['|'.join(t) for t in df.index])
编辑:
In [167]: ax = df.plot(kind='bar')
In [168]: ax.set_xticklabels(df.index.format(names=False))