Pandas 'color=[]' 仅显示图表中所有条形的第一个颜色值

Pandas 'color=[]' only displaying first color value for all bars in chart

我正在使用 Pandas 1.1.4 尝试在 Jupyter 中绘制数据框,根据列的值,条形颜色为特定颜色。

col = []
for count in df_count.values:
    val = [1, 3, 6]
    colors = ['r', 'g', 'b']
    for i in range(len(val)):
        if count == val[i]:
            col.append(colour[i])

列输出:

['r', 'r', 'g', 'r', 'r', 'r', 'b', 'r', 'g']

这应该会创建一个条形图,条形图的颜色如上表所示。

df_count.plot.barh(figsize=(10, 5), color=col, legend=False)

然而,情况似乎并非如此,因为整个图表都采用了列表中第一个值 'r' 的颜色。我在这里遗漏了什么吗?

Screenshot of the result

我在发布这个问题后几乎立即找到了答案,但我会留下一个解决方案以防万一有人遇到这个问题。

df_count.plot.barh(figsize=(10, 5), color=[col], legend=False)