16

我想使用 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

我想制作一个在组上着色的条形图。我还想指定颜色。在我的原始数据集中,我有很多组。有人可以帮我解决这个问题吗?

4

1 回答 1

37

只需将颜色参数传递给带有颜色列表的绘图函数:

df['group'].plot(kind='bar', color=['r', 'g', 'b', 'r', 'g', 'b', 'r'])

如果要绘制valueas 条并且还希望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))

而不是列表理解。

于 2013-09-19T14:23:57.030 回答