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

如何为matplotlib/pandas柱状图的第四个柱体单独设置红色

实现柱状图单个柱体自定义颜色的方法

直接向df.plot()的color参数传入单个颜色值时,pandas会默认将该颜色应用到所有柱体,要实现单个柱体改色,只需传入与柱体数量等长的颜色列表,给目标柱体对应位置指定目标颜色,其余位置保留默认颜色即可。

注意柱体索引从0开始计数,需要修改的第四个柱体对应索引为3。

可直接运行的修改后代码

import pandas as pd
import matplotlib.pyplot as plt

data = {
         'type_sale': ['g_1','g_2','g_3','g_4','g_5','g_6','g_7','g_8','g_9','g_10'],
         'open':[70,20,24,150,80,90,60,90,20,20],
        }

df = pd.DataFrame(data, columns=['type_sale', 'open'])

# 初始化颜色列表,所有柱体先设为pandas柱状图默认蓝色
bar_colors = ['#1f77b4'] * len(df)
# 将第四个柱体(索引3)设置为红色
bar_colors[3] = 'red'

# 传入自定义颜色列表绘图
df.plot(x='type_sale', kind='bar', title='Bar Graph', color=bar_colors)
plt.show()

补充说明

  • 颜色列表支持传入matplotlib兼容的所有颜色格式:包括命名颜色(如red/blue)、十六进制色值、RGB/RGBA元组等,可以按需调整其他柱体的颜色。
  • 如果需要修改其他位置的柱体颜色,只需修改颜色列表对应索引位置的色值即可,例如修改第一个柱体就调整bar_colors[0],修改最后一个柱体就调整bar_colors[-1]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:54:16