2016-06-27 94 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