将图例添加到由众多类别组成的barplot中

时间:2018-06-27 00:46:09

标签: python pandas matplotlib legend

这个问题与此one有关。在绘制具有不同颜色的条形图之后,我想添加一个相应的图例,但我不知道如何做。甚至有可能吗?

df = pd.DataFrame({'index':np.arange(0,10,1),'values':np.random.randint(0,100,10),
'group':list('aaabbbcccd')})

colors = {'a':'red','b':'gold','c':'lightblue','d':'cyan'}
df['values'].plot(kind='bar', color=[colors[i] for i in df['group']])

在当前解决方案中似乎不太可能,但是我尝试遍历组(使用groupby)并将其绘制到同一轴上,但是绘制不正确。还有其他建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用.pivot将事物放入正确的结构中,然后只需使用.plot

df.pivot("index", "group")["values"].plot(kind="bar")

enter image description here