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

Matplotlib中货币格式设置:无法添加千位分隔符

解决Matplotlib柱状图标签添加美元符号+千位分隔符的问题

方法1:直接使用fmt参数的格式化字符串

bar_label的fmt参数支持带千位分隔符的格式化语法,直接传入对应格式字符串即可:

ax.bar_label(rects2, padding=3, fmt='${x:,.2f}')

其中x代表柱子的数值,:,实现千位分隔符,.2f保留两位小数,前缀$添加美元符号。

方法2:手动生成完整标签列表(修正你之前的尝试)

之前的写法错误在于只生成了单个标签,正确做法是遍历所有柱子的数值生成标签列表:

# 遍历柱子的数值,逐个格式化
labels = [f'${h:,.2f}' for h in rects2.datavalues]
ax.bar_label(rects2, padding=3, labels=labels)

这里rects2.datavalues会返回所有柱子的高度数值,确保每个标签对应正确的柱子。

完整验证示例

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
# 模拟带大数值的柱状图数据
rects2 = ax.bar(['产品A', '产品B', '产品C'], [1567.89, 9876.54, 3456.78])

# 二选一使用上面的方法
ax.bar_label(rects2, padding=3, fmt='${x:,.2f}')
# labels = [f'${h:,.2f}' for h in rects2.datavalues]
# ax.bar_label(rects2, padding=3, labels=labels)

plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 15:51:01