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

Matplotlib绘制柱状图无法正确设置极值柱子的对应显示颜色

问题根因
  • 颜色列表生成逻辑错误:你遍历全量数据集data['avg_rev']生成的col_val长度和原始数据行数一致,但实际只需要绘制2根柱子,matplotlib会默认取颜色列表前2位匹配柱子,而原始数据前2行都不是最高收入的广告组,取到的都是red,最终两根柱子全显示为红色。
  • 拆分两次调用plt.bar分别绘制最高、最低收入柱的写法冗余,容易出现颜色匹配错位。
修正方案

删除原代码中循环生成col_val、两次调用plt.bar的片段,替换为以下代码:

# 按绘图顺序整理坐标轴数据和对应颜色
x_labels = [t0[0][0], t1[0][0]]
rev_values = [t0[0][-1], t1[0][-1]]
# 顺序匹配:最高收入柱为绿色,最低收入柱为红色
colors = ['green', 'red']

plt.bar(x_labels, rev_values, width=.5, color=colors)

替换后运行即可达到预期效果:最高平均收入对应的柱子为绿色,最低平均收入对应的柱子为红色。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:36:22