如何将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
相关产品推荐
相关产品推荐

