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

Python Matplotlib直方图颜色与X轴标签不匹配问题求助

解决直方图柱形颜色与X轴标签不匹配的问题

嘿,我懂你的困扰——本来想让X轴标“red”的柱子显示红色,“white”的显示蓝色,结果颜色乱混了对吧?这大概率是因为你没给每个柱子指定对应颜色,matplotlib默认用颜色循环随机分配了。别慌,咱们一步步来搞定:

第一步:建立标签与颜色的映射关系

先创建一个字典,把X轴标签和你想要的颜色一一绑定,从根源上避免混乱:

color_map = {
    "red": "red",
    "white": "blue"
    # 要是还有其他标签,直接在这里添加对应关系就行
}

第二步:生成对应每个柱子的颜色列表

假设你的X轴标签列表是x_labels,比如x_labels = ["red", "white", "red", "white"],我们遍历这个列表,用刚才的字典生成每个柱子专属的颜色:

# x_labels是你的X轴标签列表
colors = [color_map[label] for label in x_labels]

第三步:绘制直方图时指定颜色

最后调用plt.bar()的时候,把color参数设成我们生成的colors列表就行,完整示例代码如下:

import matplotlib.pyplot as plt

# 模拟你的数据集
x_labels = ["red", "white", "red", "white"]
values = [10, 15, 8, 12]

# 颜色映射字典
color_map = {"red": "red", "white": "blue"}
# 生成对应颜色列表
colors = [color_map[label] for label in x_labels]

# 绘制直方图
plt.bar(x=x_labels, height=values, color=colors)
plt.xlabel("Color Labels")
plt.ylabel("Values")
plt.title("Color-Matched Histogram")
plt.show()

这样操作后,每个X轴标签对应的柱子就会严格按照你设定的颜色显示,再也不会乱混啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:58:17