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

如何让Seaborn柱状图的柱子颜色与X轴颜色标签保持匹配

柱状图示例

解决方案

你只需要调整seaborn.barplot的palette参数配置,即可实现柱子颜色和X轴颜色标签完全匹配,不需要额外复杂操作。

当X轴颜色标签为Matplotlib支持的标准颜色名时

直接将颜色列的取值作为调色板传入,配合hue参数绑定映射关系,避免顺序错乱:

plt.figure(figsize=(12,8))
slippers_plot = sns.barplot(
    data=slipper_colour,
    x='colour', 
    y='total_units', 
    hue='colour',
    palette=slipper_colour['colour'].unique(),
    legend=False
)
slippers_plot.set_title("Top Slipper Colors", fontsize=20, pad=30, fontdict={"weight": "bold"})
# 注:原代码X/Y轴标签写反,已修正
slippers_plot.set_xlabel("颜色", fontsize=16)
slippers_plot.set_ylabel("总销量", fontsize=18)
plt.xticks(fontsize=14)
plt.yticks(fontsize=14)
plt.show()

当存在自定义颜色名称时

提前建立颜色名到实际色值的映射字典,再传入palette参数即可:

# 按你实际的颜色分类补全映射关系,色值支持十六进制、RGB元组、标准颜色名三种格式
color_mapping = {
    "粉色": "pink",
    "雾霾蓝": "#B0C4DE",
    "奶白": "#FFFFF0",
    "黑色": "black"
}

plt.figure(figsize=(12,8))
slippers_plot = sns.barplot(
    data=slipper_colour,
    x='colour', 
    y='total_units', 
    hue='colour',
    palette=color_mapping,
    legend=False
)
# 其余样式配置和上面代码一致

小提示:如果你的Seaborn版本低于0.12,可以省略hue参数,直接传入调色板列表即可生效


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 11:06:02