You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas绘制柱状直方图时如何按key值为柱子设置不同颜色

实现方法

你只需要在调用plot()时传入自定义的color参数即可,这个参数接收和柱子数量一一对应的颜色序列,会按行顺序给每个柱子匹配对应颜色。
完整实现代码如下:

import pandas as pd
import matplotlib.pyplot as plt

# 构造示例DataFrame
df = pd.DataFrame([[1,100],[-1,50],[1,140],[1,300],[-1,400]],columns=['key','size'])

# 根据key列生成对应颜色列表:key=1为绿色,key=-1为红色
bar_colors = ['green' if k == 1 else 'red' for k in df['key']]

# 绘制柱状图,传入颜色参数
ax = df['size'].plot(kind='bar', color=bar_colors)

# 可选绘图优化
ax.set_xlabel('行索引')
ax.set_ylabel('size取值')
plt.show()

关键说明

  • 列表推导式会逐行遍历df['key']的值,生成和DataFrame行数等长的颜色数组,传入plot后自动按行索引顺序匹配柱子颜色:样例数据里索引1、4对应key=-1显示红色,索引0、2、3对应key=1显示绿色,完全匹配需求。
  • 如果需要调整色调,直接把列表中的'green'/'red'替换为目标色值即可,支持matplotlib认可的命名色、十六进制色、RGB元组等格式。

内容的提问来源于stack exchange,提问作者user2874909

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:15:18