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

如何将Matplotlib中负货币格式从$-45改为-$45?

调整Matplotlib Y轴负货币金额的显示格式

现有代码使用StrMethodFormatter会将负数(如-45)显示为$-45,要改为-$45的格式,可以通过自定义格式化函数实现:

  • 使用FuncFormatter自定义逻辑,判断数值正负后分别处理格式:
import matplotlib.ticker as mtick

def format_currency(x, pos):
    # 处理负数:负号前置,美元符号紧跟负号,取绝对值格式化
    if x < 0:
        return f'-${abs(x):,.0f}'
    # 正数正常显示美元符号加数值
    else:
        return f'${x:,.0f}'

# 应用自定义格式化器到Y轴
axes.yaxis.set_major_formatter(mtick.FuncFormatter(format_currency))

这个方法逻辑清晰,能精准控制正负数值的显示样式,避免默认格式化带来的符号位置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 00:52:01