Python 不显示所有颜色类别的颜色

Python 不显示所有颜色类别的颜色,python,pandas,matplotlib,Python,Pandas,Matplotlib,我试图使用数据框值绘制一个图形,数据框中有三列,第一列是图形的图例值,第二列是x轴,第三列是y轴。当我绘制图形时,它只显示图例中的一个类别,而不是全部,它只显示一种颜色 这是我的数据帧 这是我的密码 ax1 = graphdf.plot(kind='bar', x='Bottles', y='bottle Avg') figures = graphdf['fig'].tolist() ax1.legend(labels=figures, fancybox=True, shadow=True)

我试图使用数据框值绘制一个图形,数据框中有三列,第一列是图形的图例值,第二列是x轴,第三列是y轴。当我绘制图形时,它只显示图例中的一个类别,而不是全部,它只显示一种颜色

这是我的数据帧

这是我的密码

ax1 = graphdf.plot(kind='bar', x='Bottles', y='bottle Avg')
figures = graphdf['fig'].tolist()
ax1.legend(labels=figures, fancybox=True, shadow=True)
for p in ax1.patches:
    label1 = "{:.1f}".format(p.get_height())
    ax1.annotate(label1, xy=(p.get_x() * 1.015, p.get_height() * 1.015))
但这只是显示标签中的1个类别,而不是全部

这是输出,我想显示图例中的所有类别

在这种用法中,只调用一次,用一个标签创建一个补丁集合。仅指定标签的签名只是将标签指定给“现有打印元素”。由于
plt.bar
创建了一个“绘图元素”,因此只创建了一个图例条目。通过使用
ax.legend
的第三个调用签名,您可以轻松绕过此问题,其中都指定了标签和句柄,即

ax=df.plot(kind='bar',x='瓶',y='瓶平均值')
legend(labels=df['fig'].tolist(),handles=ax.patches,fancybox=True,shadow=True)
对于ax.patches中的p:
ax.annotate(“{.1f}.”格式(p.get_height()),xy=(p.get_x()*1.015,p.get_height()*1.015))

在这种用法中,只调用一次,用一个标签创建一个补丁集合。仅指定标签的签名只是将标签指定给“现有打印元素”。由于
plt.bar
创建了一个“绘图元素”,因此只创建了一个图例条目。通过使用
ax.legend
的第三个调用签名,您可以轻松绕过此问题,其中都指定了标签和句柄,即

ax=df.plot(kind='bar',x='瓶',y='瓶平均值')
legend(labels=df['fig'].tolist(),handles=ax.patches,fancybox=True,shadow=True)
对于ax.patches中的p:
ax.annotate(“{.1f}.”格式(p.get_height()),xy=(p.get_x()*1.015,p.get_height()*1.015))