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

如何在Matplotlib的bar_label()中使用自定义列表为柱状图添加标签

解决Matplotlib bar_label()自定义标签的问题

嘿,刚好我对这个功能比较熟悉,你遇到的问题其实是没找对正确的参数用法~

bar_label()的第一个参数必须是柱状图容器(BarContainer),也就是你之前用的ax.containers[0]或者直接接收ax.bar()的返回值,它不能直接接收数值列表。不过它提供了专门的参数来设置自定义标签,就是labels!

具体做法:

  • 保持第一个参数为柱状图容器,比如ax.containers[0]或者你保存的bars变量
  • 通过labels参数传入你的自定义数值列表,注意要把数值转换成字符串类型(因为标签需要是文本)

示例代码:

import matplotlib.pyplot as plt

# 先绘制基础柱状图
fig, ax = plt.subplots()
# 保存柱状图容器到bars变量(也可以用ax.containers[0]代替)
bars = ax.bar(['苹果', '香蕉', '橙子'], [15, 22, 18])

# 你的自定义数值列表
my_custom_labels = [17, 25, 20]

# 使用labels参数传入自定义标签,转成字符串
ax.bar_label(bars, labels=[str(num) for num in my_custom_labels])

plt.show()

这样运行后,柱状图上的标签就会显示你自定义的[17,25,20],而不是默认的柱子高度值啦。

如果你的自定义列表已经是字符串类型,直接传就行,不用额外转换:

ax.bar_label(bars, labels=['17', '25', '20'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 15:29:07