使用定义的列定义Pandas/Matplotlib的条形图颜色 [英] Define bar chart colors for Pandas/Matplotlib with defined column
问题描述
我有一个像这样的数据表表":
I have a dataframe "table" like this:
SAMPLE RANK VALUE
CAT 3 N
DOG 1 N
FISH 4 Y
ANT 2 N
HORSE 5 N
SAMPLE RANK VALUE
CAT 3 N
DOG 1 N
FISH 4 Y
ANT 2 N
HORSE 5 N
鉴于VALUE列中有一个"Y",我该如何为第三个直方图列着色?我希望它看起来像这样:
How can I JUST COLOR the 3rd histogram column, given that there is a "Y" in the VALUE column? I would like it to look like this:
到目前为止,我有:
table.plot('SAMPLE','RANK', hue="VALUE", palette={"Y": "r", "N": '0.75'}, kind='bar')
但这不起作用
推荐答案
您可以通过将VALUE
列映射到所需的颜色来实现所需的效果:
You may achieve the desired effect by mapping VALUE
column to desired colors:
colors = {'N':'#00BEC5', 'Y':'#F9746A'}
df.sort_values('RANK', inplace=True)
df.plot.bar(x='SAMPLE', y='RANK',color= df['VALUE'].map(colors));
这篇关于使用定义的列定义Pandas/Matplotlib的条形图颜色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!