【问题标题】:Pandas 'color=[]' only displaying first color value for all bars in chart [closed]熊猫'color = []'仅显示图表中所有条形的第一个颜色值[关闭]
【发布时间】:2020-11-20 00:27:16
【问题描述】:

我正在使用 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])

col 输出:

['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

【问题讨论】:

    标签: python pandas matplotlib jupyter


    【解决方案1】:

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

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

    【讨论】:

    • 如果df_count 是什么值,这个解决方案没有多大意义
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 2021-08-14
    • 2021-11-10
    • 2020-01-02
    • 1970-01-01
    相关资源
    最近更新 更多