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



我使用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"的颜色。我这里有什么东西不见了吗?

结果的屏幕截图

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

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

最新更新