2016-06-27 92 views
1

我有一个数据帧“表”是这样的:定义条形图颜色熊猫/ Matplotlib与定义的列

SAMPLE RANK VALUE CAT 3 N DOG 1 N FISH 4 Y ANT 2 N HORSE 5 N

我怎能颜色第三直方图列,因为有一个“Y “在VALUE列中?我想它看起来像这样:

到目前为止,我有:

table.plot('SAMPLE','RANK', hue="VALUE", palette={"Y": "r", "N": '0.75'}, kind='bar')

但这不起作用

enter image description here

回答

3

您可以通过映射VALUE达到预期的效果列到所需颜色:

colors = {'N':'#00BEC5', 'Y':'#F9746A'} 
df.sort_values('RANK', inplace=True) 
df.plot.bar(x='SAMPLE', y='RANK',color= df['VALUE'].map(colors)); 

enter image description here

+0

太棒了。谢谢! – amc