我想使用pandas为列中的类别绘制不同颜色的条形图。
这是一个简单的例子:(索引是可变的)
df:
value group
variable
a 10 1
b 9 1
c 8 1
d 7 2
f 6 2
g 5 3
h 4 3
我想制作一个带有着色组的条形图。我还想指定颜色。在我的原始数据集中,我有很多goups。 有人可以帮我这个吗?
答案 0 :(得分:27)
只需将颜色参数传递给绘图函数,并附上颜色列表:
df['group'].plot(kind='bar', color=['r', 'g', 'b', 'r', 'g', 'b', 'r'])
如果您想将value
绘制为条形图,并且您还希望group
确定条形图的颜色,请使用:
colors = {1: 'r', 2: 'b', 3: 'g'}
df['value'].plot(kind='bar', color=[colors[i] for i in df['group']])
您还可以使用以下内容:
list(df['group'].map(colors))
而不是列表理解。