Python Matplotliib:从数据帧为多列创建多条形图

Python Matplotliib:从数据帧为多列创建多条形图,python,pandas,matplotlib,charts,seaborn,Python,Pandas,Matplotlib,Charts,Seaborn,我有一个四列的熊猫数据框;第一个是centretype x轴,我希望其余的列按年份显示为每个centretype的并排列。我不确定我做错了什么,因为我只得到2019年的值,但我希望2018年和2017年也能显示出来 图片只包含一列的原因是df=c2。 显然c2只包含数据帧中的一列。 删除此说明 作为测试,我只执行了以下操作: df.plot.bar(width=0.7, rot=60, figsize=(12,6), legend=False); 获得以下正确图片,包括5组条,每个条3条: 从

我有一个四列的熊猫数据框;第一个是centretype x轴,我希望其余的列按年份显示为每个centretype的并排列。我不确定我做错了什么,因为我只得到2019年的值,但我希望2018年和2017年也能显示出来


图片只包含一列的原因是df=c2。 显然c2只包含数据帧中的一列。 删除此说明

作为测试,我只执行了以下操作:

df.plot.bar(width=0.7, rot=60, figsize=(12,6), legend=False);
获得以下正确图片,包括5组条,每个条3条:

从上面的指令开始,然后决定剩下的指令 指令应该实际执行

在我看来,省略的参数是不需要的,因为它们 传递它们各自的默认值

请注意结尾的分号。在Jupyter笔记本下工作 只需渲染图片即可。 否则,不带终止分号, 这幅画上面印着一张照片

也许您还应该删除带有默认真值的legend=False stay和 打印图例。 否则就不清楚特定条所指的是什么。

如果我定义df,比如df=pd.DataFramenp.random.rand5,3,columns=[2018,2019,2020],index=listABCDE并运行代码,我会得到所需的输出,即。这意味着您要么没有使用您认为自己使用的数据,要么使用的是带有bug的特定pandas版本。
df.plot.bar(width=0.7, rot=60, figsize=(12,6), legend=False);